优秀的开源系统框架有哪些推荐

栏目:资讯发布:2023-11-05浏览:3收藏

优秀的开源系统框架有哪些推荐,第1张

Yui-ext基于Yahoo UI的扩展包yui-ext是具有cs风格的web用户界面组件,能实现复杂的Layou布局,界面效果可以和backbase比美,而且使用纯JavaScript代码开发。真正的可编辑的表格edit Grid,支持XML和Json数据类型。许多组件实现了对数据源的支持,如动态布局,动态加载Tree控件,动态拖拽效果等等。从10beta版开始同jQuery合作,推出基于jQuery的ext10,提供了更多有趣的功能。优点:结构化,清晰明了,底层用到了jQuery的一些函数,使整合使用有了选择,最重要的一点是界面太 让人震撼了。缺点:太过于复杂,整个界面的构造过于复杂。Jquery任何使用场景都适用;jQuery是一款同prototype一样优秀的js开发类库,特别是针对css和xpath的支持,使我们写JS变得更加方便。优点:注重简洁和高效,js效果有yui-ext的选择,因为yui-ext重用了很多jquery的函数;缺点:据说太嫩,历史不悠久。Extjs 内部系统,后台系统,管理系统等,有很好的UI设计;Dojo功能是最为强大的JS框架,Dojo是一个用JavaScript编写的开源的DHTML工具箱。Dojo包括Ajax、browser、event、widget等跨浏览器API,包括了js本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库。Dojo强大的地方在于界面和特效的封装,可以 让开发者快速构建一些兼容标准的界面。适合企业应用和产品开发;优点:库相当完善,发展时间也比较长,得到sun和IBM的持。缺点:文件体积比较大,200多kb,JS语法增强方面不如prototype。Prototype最成熟的框架;定义了JS的面向对象扩展,Dom操作API,事件等等,以prototype为核心,形成一个外围的各种各样的JS扩展库;优点:基本底层,易学易用,甚至是其他一些JS特效开发包的底层,体积算是最小的;缺点:如果说缺点,可能就是功能是它的弱项;

目前常用的一些开源前端的框架如下:

1 Bootstrap

Boostrap绝对是目前最流行用得最广泛的一款框架。它是一套优美,直观并且给力的web设计工具包,可以用来开发跨浏览器兼容并且美观大气的页面。它提供了很多流行的样式简洁的UI组件,栅格系统以及一些常用的JavaScript插件。

Bootstrap是用动态语言LESS写的,主要包括四部分的内容:

脚手架——全局样式,响应式的12列栅格布局系统。记住Bootstrap在默认情况下并不包括响应式布局的功能。因此,如果你的设计需要实现响应式布局,那么你需要手动开启这项功能。

基础CSS——包括基础的HTML页面要素,比如表格(table),表单(form),按钮(button),以及(image),基础CSS为这些要素提供了优雅,一致的多种样式。

组件——收集了大量可以重用的组件,如下拉菜单(dropdowns),按钮组(button groups),导航面板(navigation control)——包括:tabs,pills,lists标签,面包屑导航(breadcrumbs)以及页码(pagination),缩略图(thumbnails),进度条(progress bars),媒体对象(media objects)等等。

JavaScript——包括一系列jQuery的插件,这些插件可以实现组件的动态页面效果。插件主要包括模态窗口(modals),提示效果(tool tips),“泡芙”效果(popovers),滚动监控(scrollspy),旋转木马(carousel),输入提示(typeahead),等等。

Bootstrap已经足够强大,能够实现各种形式的 Web 界面。为了更加方便地利用Bootstrap进行开发,很多工具和资源可以用来配合使用,下面列举了其中的一部分工具和资源。

jQuery UI Bootstrap —— 对于jQuery和Bootstrap爱好者来说这是个非常好的资源,能够把 Bootstrap的清爽界面组件引入到jQuery UI中。

jQuery Mobile Bootstrap Theme —— 和上面提到的jQuery UI主题类似,这是一个为jQuery mobile建立的主题。如果你想让用Bootstrap开发的网站在手机端也可以优雅访问,那么这个资源对你来说很方便易用。

Fuel UX —— 它为Bootstrap添加了一些轻量的JavaScript控件。Fuel UI 安装,修改,更新以及优化都很简单方便。

StyleBootstrapinfo —— Bootstrap提供了自己的几种界面风格,StyleBootstrap提供了更多的配色选项,并且你可以给每个组件都应用不同的配色。

BootSwatchr —— 利用这个工具你可以立刻查看主题修改后的效果。对于每一次变动的效果,这个应用都会生成一个唯一的URL方便你与他人分享,你也可以在任意时刻修改你的主题。

Bootswatch —— 提供大量免费的Bootstrap主题。

Bootsnipp —— 在线前端框架交互组件制作工具,是一个供给设计师和开发者的基于Bootstrap HTML/CSS/JavaScript 架构的免费元素。

LayoutIt —— 通过界面拖放生成器简便快捷地创建基于Bootstrap的前端代码。通过拖放动作将Bootstrap风格的组件加入到你的个人设计里并且可以方便地修改他们的属性,简单便捷。

2、flex

Apache基金会发布了Flex 48版本,这是Adobe将Flex捐献给Apache基金会后发布的第一个版本

需要注意的是

2014年03月10日,Apache Flex技术社区发布了全新的Apache Flex 4120版本,该版本是Apache Flex 4110的升级版本,改进的功能包括:

◆支持最新版本的Flash Player

◆支持最新的AIR运行时

◆改进了内存占用和性能

◆改善了针对移动平台的组件的样式

◆支持iOS7系统

◆修复了超过80个漏洞[4]

2014年05月10日,Apache对4120版本进行优化改进,发布了Flex 4121,新版本加入对全新Flash Player及Air运行时的支持,改进对移动媒体查询的支持,并修复20多个Bug。

3、easyui

easyui帮助你构建你的web应用更加容易。

它是一个基于jquery的插件,开发出来的一套轻量级的ui框架,非常小巧而且功能丰富。

但是她有一个最大的问题就是代码只能找到以前的开源的版本,到了12以后的版本源代码都是经过混淆的,如果遇到问题修改起来会非常麻烦!不过一个比较大的优势是开源免费,并且界面做的还说的过去!

4、jQuery UI

jQuery UI 是一套 jQuery 的页面 UI 插件,包含很多种常用的页面空间,例如 Tabs(如本站首页右上角部分) 、拉帘效果(本站首页左上角)、对话框、拖放效果、日期选择、颜色选择、数据排序、窗体大小调整等等非常多的内容。

功能非常全面,界面也挺漂亮的,可以整体使用,也可以分开使用其中的几个模块,免费开源!

5、DWZ

DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架

设计目标是简单实用,快速开发,降低ajax开发成本。

欢迎大家提出建议,我们将在下一版本中进一步调整和完善功能.共同推进国内整体ajax开发水平。

毕竟是国产的,支持一下,而且源码完全公开,可以选择一下!不过性能怎么样不敢确定!

6、GWT

Google 网页工具包——GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。

你不用去了解这样那样的javascript框架,通过java你就可以写出功能丰富的界面,可以做单元测试,毕竟是google的产品,严重支持一下!

7、YUI

Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证,基本上没怎么研究过!

YUI Compressor倒是挺出名的,这套UI库不知道应用的情况怎么样!

10、Sencha

Sencha 是由 ExtJS、jQTouch 以及 Raphael 三个项目合并而成的一个新项目。

大公司的框架,并且是几样库的强强联合,值得推荐!

8、Dojo

在国内应用好像不是很广,不过性能上应该没问题。

Dojo是一个用javascript语言实现的开源DHTML工具包。

有多个基金会的支持,包括IBM和SUN,都是软件界的泰斗,值得信赖!

9、ZK

ZK是 一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的操作就像设计桌面程式一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以 及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。

功能丰富,全面,文档齐全,而且升级了很多次,非常值得推荐!

10、OperaMasks-UI

OperaMasks- UI是OperaMasks团队 2011下半年打造的一款轻量级前端JS组件库,旨在提供一款学习曲线低、定制性灵活、样式统一,且多浏览器支持、覆盖企业业务场景的前端 JavaScript UI组件库。目前,该团队已将这一产品以LGPL 开源协议开放给社区。

文档丰富,功能齐全,而且很容易使用和开发!而且是国产的哟!

11、JavaFX

Sun 公司(已于2009年被Oracle公司收购)在2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative, statically typed(声明性的、静态类型)脚本语言。JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序 变为可能。

一直以来php框架被广泛利用,多半都是基于mvc架构模式的,还有基于事件驱动模式的,大致列举几个。ThinkPHP是一个性能卓越并且功能丰富的轻量级PHP开发框架,本身具有很多的原创特性,并且倡导大道至简,开发由我的开发理念,用最少的代码完成更多的功能,宗旨就是让WEB应用开发更简单、更快速。从1版本开始就放弃了对PHP4的兼容,因此整个框架的架构和实现能够得以更加灵活和简单。20版本更是在之前的基础上,经过全新的重构和无数次的完善以及改进,达到了一个新的阶段,足以达到企业级和门户级的开发标准。国人开发的PHP框架,目前最新版本为323版本。

Canphp是一个中国开源的php框架,主要的设计理念就是为了追求简单,减少php初学者的学习成本,而且追求高效率,模版类不提供其他标签,直接应用php的源代码,还有它是微内核设计,移植性强,松散耦合等特点,能集成到你任何一个系统里面。其中集成的http类相当的强大,采集速度相当的快,为什么这样呢?因为适用了模拟异步多进程的原理。

KYPHP是一个中国开源的PHP框架,kyphp严格遵守OOP和MVC的理念,具有控件化、可扩展性强。kyphp设计理念是自由、简单。既可以用php源码编程,也可以使用标签,支持多语言,多数据库,多皮肤,多模型部署等,为程序员节省更多的时间。

InitPHP是一款轻量级的php开发框架,采用分层体系架构,适合大中型网站架构。提供丰富的library类库,以及简单的框架扩展机制。InitPHP还提供详细的开发文档,可以让您在使用该框架的时候更加简单实用。InitPHP实现了抽象DB层、分层体系架构、缓存无缝切换机制、简单模板机制、多模型部署机制、强大的安全体系,是您快速开发php应用的利器!

SpeedPHP是一款全功能的国产PHP应用框架系统。她以“快速开发、快速学习、快速运行”为理念,在提高团队开发效率、容易学习及使用、轻量级架构以增加执行速度等方面有着突出的表现。SpeedPHP框架是从实际运行的商业系统中取其精华而成的,在稳定性和运行速度上都非常出色;同时有着清晰的架构,更有利于提高团队开发效率,教程众多,入门容易,号称最适合初学者的PHP框架,快速带你进入PHP高手的行列。

CdvPHP一款简单开源PHP框架,灵感来源于DX,根据实际开发总结汇成快捷方便的轻量级框架。没有太多的硬性要求,也没有一本超厚的帮助手册。快速开发、部署、学习必备利器。KPHP即(kphp开源框架)是为了提高PHP开发效率而研发php开源框架,其核心简单精炼,代码安全并易于理解,功能更符合php学习开发的的需要,而且易于学习不改变程序员的开发习惯。ZendFramework在开发社区中有大量的追随者,它致力于Web20风格的程序。因为它众多的追随者组成的活跃用户开发的扩展支持,Zend被称为“ThePHPCompany”。Zend是一个(也可能不是)今天可用的最受欢迎的PHP开发框架。它有健壮的特征能够支持协作开发,它需要一些PHP的额外知识。

Codelgniter以它的简单易用,性能和速度而闻名。与Symphony不同,这款PHP开发框架对于共享主机的用户而言很理想,如果你想有一个小型覆盖面的框架。它提供了简单的解决方案,还有扩展的知识库,通过视频教程,用户指南和wiki来提供支持。

CakePHP无论对于初学者还是职业PHP开发者都是很好的选择。它基于与RubyonRails同样的原则而设计,它十分注重快速开发——这使得它成为一个非常好的用于RAD的开发框架。它快速增长的支持系统,简洁性和可测量性使得CakePHP成为今天可用的最受欢迎的PHP开发框架之一。

Symfony是为那些更加职业的主要开发企业级程序的开发者而准备的——特别是Askeet和Yahoo!Bookmarks。这款开源PHP开发框架有着丰富的特性,做起这些来绰绰有余,它主要的缺点是比其他的框架略微慢一些。

Yii是一个基于组件、用于开发大型Web应用的高性能PHP框架。它将Web编程中的可重用性发挥到极致,能够显著加速开发进程。Yii(读作“易”),代表简单(easy)、高效(efficient)、可扩展(extensible)。

Seagull是一个良好的PHP开发框架,可以用来开发Web,命令行和GUI程序。这是一款无论对初学者还是职业程序员而言都及其简单的开发框架。对于初学者,Seagull提供一套包含样例程序的库,经过简单修改就能符合你的要求,而对于专家级程序员,Seagull提供了一整套设置选项——包括最佳练习,标准的和模块化的代码库——来快速简单地构建Web程序。Seagull有一个活跃的用户社区以及丰富的支持文档。

Laravel是一套简洁、优雅的PHPWeb开发框架(PHPWebFramework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。E是一款非常简洁优秀开源的超轻量级PHP框架,致力于追求简洁,安全,自由,高效,是中小型项目首选框架。框架构架合理,一键生成完全合乎规范的大型网站文件夹架构,网站架构一目了然。强大的外部类库支持,分布式存储,强大的缓存系统,内置smarty模板引擎,单入口MVC模式,面向对象编程,具有微内核设计,移植性强,松散耦合等特点,能集成到你任何一个系统里面。无论您是一个NewPHPer还是OLDPHPER,那么E框架是您的首选。学习完E框架后您可以快速并且轻松的驾驭其他框架,步入php高手之列。

DuoLamPHP是一款超轻量级的PHP框架,命名是按照多啦A梦动漫给改成的拼音形式。DP是一个简单、高效、上手容易的PHP框架,遵循apache开源协议。可以快速搭建出一个项目,作为一个超轻量级的PHP框架,完美支持MVC,完全面向对象。

Difeye框架是一款超轻量级PHP框架,由Kohana框架精简而来,主要特点有:数据库连接自动主从读写分离配置,适合单机和分布式站点部署;支持Smarty模板机制;支持mysql、nosql类的mongodb等第三方数据库模块;完全分离页面和动作,自动执行Page_Load入口函数,支持二级路由,将页面模块和页面上的动作完全分离,使站点升级迁移更简单;框架简单易学容易部署;

GalaxixPhp是一套专业的php建站框架,主要用于让用户在网上的建站,开发人员使用用GalaxixPhp可以大大的缩小中型甚至大型网站的开发周期。GalaxixPhp兼容JavaScript,可以无缝地与Javascript,flash,PHP等程序集成,适合构建展示、CMS、商城、论坛、博客、Wiki、等各种网站。并且官网上学习和说明文档以及视频教程齐全。是针对专业开发的人员的收费框架。并且官方正在不断推出更新更实用的框架插件。最新版本112

PhpPeanuts是一个用以开发数据库后端应用的PHP框架,包含一个可扩展的动态脚手架用来创建一个完整的web应用,提供用户界面和ORM,包括CRUD操作、关联关系以及一些示例查询。phpPeanuts20完全支持PHP5,遵循ESTRICT标准,不再使用变量引用来传递对象;提升了灵活性;更独立的模块,以及迭代的对象复制等等。

RongFramework是一个国产的基于php5的面向对象开发框架,开发的主要目的是简化开发、高性能开发。支持数据库文件缓存、数据库通用操作及封装。简化CRUD代码编写。支持在线生成CRUD代码,只要选中数据表名称,就可以生成CRUD代码。不懂编程的人也可以做到。rongframework分为php代码模板(classRong_View_PHP)和Rong_View_Wudimei(无敌美模板引擎,类似smarty)两种模板机制。拥有良好的MVC机制和url美化方式、可以在代码中实现URL重写(由Rong_Countroller_Route实现)。

OpenbizFramework是为搭建企业应用而设计的PHP的基于面向对象的快速开发框架。它可以帮助专业软件开发人员和技术咨询专家来构建用于网络上的企业级应用。OpenbizFramework的设计目标是节省构建复杂应用系统的开发投入和缩短开发时间。借助于Openbiz的帮助,应用程序的开发将基于完善的MVC架构建立,以Metadata驱动为核心描述业务逻辑,支持多种ORM逻辑,并且有OpenbizAppbuilder作为图形化集成开发环境的快速开发平台。

大数据

1 Hadoop

Apache主持的这个项目是最广为人知的大数据工具。众多公司为Hadoop提供相关产品或商业支持,包括亚马逊网络服务、Cloudera、Hortonworks、IBM、Pivotal、Syncsort和VMware。知名用户包括:阿里巴巴、美国在线、电子港湾、Facebook、谷歌、Hulu、领英、Spotify、推特和雅虎。

支持的操作系统:Windows、Linux和OS X

相关网站:http://hadoopapacheorg

2 Hypertable

Hypertable在互联网公司当中非常流行,它由谷歌开发,用来提高数据库的可扩展性。用户包括百度、电子港湾、Groupon和Yelp。它与Hadoop兼容,提供商业支持和培训。

支持的操作系统:Linux和OS X

相关网站:http://wwwhypertablecom

3 Mesos

Apache Mesos是一种资源抽象工具,有了它,企业就可以鼗整个数据中心当成一个资源池,它在又在运行Hadoop、Spark及类似应用程序的公司当中很流行。使用它的企业组织包括:Airbnb、欧洲原子核研究组织(CERN)、思科、Coursera、Foursquare、Groupon、网飞(Netflix)、推特和优步。

支持的操作系统:Linux和OS X

相关网站:http://mesosapacheorg

4 Presto

Presto由Facebook开发,自称是“一款开源分布式SQL查询引擎,用于对大大小小(从GB级到PB级)的数据源运行交互式分析查询。”Facebook表示,它将Presto用于对300PB大小的数据仓库执行查询,其他用户包括Airbnb和Dropbox。

支持的操作系统:Linux

相关网站:https://prestodbio

5 Solr

这种“快若闪电”的企业搜索平台声称高度可靠、扩展和容错。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、网飞、IBM、Adobe和SAP Hybris。

支持的操作系统:与操作系统无关

相关网站:http://luceneapacheorg/solr/

6 Spark

Apache Spark声称,“它在内存中运行程序的速度比Hadoop MapReduce最多快100倍,在磁盘上快10倍。”Spark“支持”的企业组织包括:亚马逊、百度、Groupon、日立解决方案、IBM、MyFitnessPal、诺基亚和雅虎。

支持的操作系统:Windows、Linux和OS X

相关网站:http://sparkapacheorg

7 Storm

正如Hadoop用来处理批量数据,Apache Storm用来处理实时数据。官方网站上显示用户包括:天气频道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard和Klout。

支持的操作系统:Linux

相关网站:https://stormapacheorg

云计算

8 Cloud Foundry

Cloud Foundry提供用于构建平台即服务的开源工具。它声称“由行业领袖为行业领袖构建”,其支持者包括IBM、 Pivotal、惠普企业、VMware、英特尔、SAP和EMC。

支持的操作系统:Linux

相关网站:https://wwwcloudfoundryorg

9 CloudStack

这个交钥匙IaaS解决方案构成了许多公共云和私有云的基础。它的用户极多,包括阿尔卡特-朗讯、苹果、Autodesk、英国电信、冠群科技、思杰、Cloudera、戴尔、富士通、SAP和韦里逊。

支持的操作系统:与操作系统无关

相关网站:http://cloudstackapacheorg

10 OpenStack

这种很受欢迎的云计算平台声称,“世界上成百上千个大品牌”每天依赖它。支持者包括:AT&T、Ubuntu、惠普企业、IBM、英特尔、Rackspace、红帽、SUSE、思科、戴尔、EMC、赛门铁克及另外许多知名科技公司。

支持的操作系统:与操作系统无关

相关网站:http://wwwopenstackorg

11 Scalr

这种云管理平台备受市场研究公司的好评,它简化了管理多个云环境的过程。知名用户包括Expedia、三星、美国宇航局喷气推进实验室、埃森哲、索尼和Autodesk。

支持的操作系统:Linux

相关网站:http://wwwscalrcom

容器

12 Docker

Docker在相对新兴的容器领域迅速确立起了主导平台这一地位。科技界的许多大牌公司在构建或提供扩展或使用Docker技术的产品,包括亚马逊、微软、IBM、惠普企业、红帽、Rackspace和Canonical。

支持的操作系统:Windows、Linux和OS X

相关网站:https://wwwdockercom

输入标题 内容管理

13 DNN

这款内容管理解决方案之前名为DotNetNuke,承诺构建丰富的交互式网站时,只要花较少的精力,就能收到显著的成效。用户包括佳能、时代华纳有线电视、德州仪器和美国银行。

支持的操作系统:Windows

相关网站:http://wwwdnnsoftwarecom

14 Drupal

Drupal声称,98000多个开发人员在为这个极其流行的内容管理系统积极贡献代码。支持者包括微软、Zend、Fastly和New Relic,其内容市场有数百家公司参与其中,它们提供了相关的产品和服务。

支持的操作系统:与操作系统无关

相关网站:https://wwwdrupalorg

15 Joomla

Joomla为数百万个网站提供平台,其下载量超过了5000万人次。许多用户当中就有这些公司:电子港湾、巴诺书店、MTV和标致。

支持的操作系统:与操作系统无关

相关网站:https://wwwjoomlaorg

16 MediaWiki

MediaWiki以维基百科使用的软件而出名,它还为百度、Vistaprint、Novell、英特尔和美国宇航局支持网站。它是构建可编辑网页的不错选择,许多企业组织用它来构建内部知识库。

支持的操作系统:Windows、Linux/Unix和OS X

相关网站:https://wwwmediawikiorg/wiki/MediaWiki

数据库

17 Cassandra

这种NoSQL数据库由Facebook开发,其用户包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、网飞、Reddit及其他科技公司。它支持极其庞大的数据集,声称拥有非常高的性能和出色的耐用性和弹性。可通过第三方获得支持。

支持的操作系统:与操作系统无关

相关网站:http://cassandraapacheorg

18 CouchDB

CouchDB为Web而开发,这种NoSQL数据库将数据存储在JSON文档中,这类文档可通过HTTP来加以查询,并用JavaScript来处理。Cloudant现在归IBM所有,它提供一款专业人员支持的软件版本,用户包括:三星、Akamai、Expedia、微软游戏工作室及其他公司。

支持的操作系统:Windows、Linux、OS X和安卓

相关网站:http://couchdbapacheorg

19 MongoDB

MongoDB是一种NoSQL数据库,声称“针对关键任务型部署环境进行了优化”,用户包括Foursquare、《福布斯》、Pebble、Adobe、领英、eHarmony及其他公司。提供收费的专业版和企业版。

支持的操作系统:Windows、Linux、OS X和Solaris

相关网站:http://wwwmongodborg

20 MySQL

MySQL自称是“世界上最流行的开源数据库”,备受众多互联网公司的青睐,比如YouTube、贝宝、谷歌、Facebook、推特、电子港湾、领英、优步和亚马逊。除了免费社区版外,它还有多款收费版。最新更新版声称速度比老版本快三倍。

支持的操作系统:Windows、Linux、Unix和OS X

相关网站:http://wwwmysqlcom

21 Neo4j

Neo4J自诩为“世界上领先的图形数据库”,用于欺诈检测、推荐引擎、社交网站、主数据管理及更多领域。用户包括电子港湾、沃尔玛、思科、惠普、埃森哲、CrunchBase、eHarmony、Carecom及另外许多企业组织。

支持的操作系统:Windows和Linux

相关网站:http://neo4jcom

开发工具

22 Bugzilla

Bugzilla是开源社区的宠儿,用户包括Mozilla、Linux基金会、GNOME、KDE、Apache、LibreOffice、Open Office、Eclipse、红帽、Novell及其他公司。这款软件缺陷追踪系统(bugtracker)的重要功能包括:高级搜索功能、电子邮件通知、预定报告、时间追踪、出色的安全及更多特性。

支持的操作系统:Windows、Linux和OS X

相关网站:https://wwwbugzillaorg

23 Eclipse

Eclipse项目最为知名的是,它是一种大受欢迎的面向Java的集成开发环境(IDE),它还提供面向C/C++和PHP的IDE,此外提供另外一大批开发工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、红帽和SAP。

支持的操作系统:与操作系统无关

相关网站:http://wwweclipseorg

24 Emberjs

这种框架用于“构建野心勃勃的Web应用程序”,旨在为JavaScript开发人员提高工作效率。官方网站上显示用户包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、网飞、Heroku和微软。

支持的操作系统:与操作系统无关

相关网站: http://emberjscom

25 Grunt

Grunt是一种JavaScript任务运行工具,有助于自动处理重复性的开发任务。使用它的知名科技公司包括:Adobe、推特、Mozilla、Cloudant和WordPress。

支持的操作系统:与操作系统无关

相关网站:http://gruntjscom

26 LoopBack

这个Nodejs框架旨在让用户很容易构建REST API,并连接到后端数据存储区。知名用户包括GoDaddy、美国能源部和赛门铁克。

支持的操作系统:Windows、Linux、OS X、安卓和iOS

相关网站:http://loopbackio

27 Nodejs

Nodejs的成名之处在于,它让开发人员可以使用JavaScript,编写服务器端应用程序。开发工作之前由Joyent管控,现在交由Nodejs基金会监管。用户包括IBM、微软、雅虎、SAP、领英、贝宝和网飞。

支持的操作系统:Windows、Linux和OS X

相关网站:https://nodejsorg/en/

28 PhoneGap

Apache Cordova是一种开源框架,让开发人员可以使用HTML、CSS和JavaScript等Web技术,构建移动应用程序。PhoneGap是最受欢迎的Cordova发行版。使用某一种Cordova发行版的科技公司包括:维基百科、Facebook、 Salesforce、IBM、微软、Adobe和黑莓。

支持的操作系统:Window、Linux和OS X

相关网站:http://phonegapcom

29 React Native

React Native由Facebook开发,这种框架可用于使用JavaScript和React JavaScript库(同样由Facebook开发),构建原生移动应用程序。其他用户包括:《探索》频道和CBS体育新闻网。

支持的操作系统:OS X

相关网站:http://facebookgithubio/react-native/

30 Ruby on Rails

这个Web开发框架在开发人员当中极其流行,它声称“为确保编程员满意和持续高效地工作进行了优化”。用户包括Basecamp、推特、Shopify和GitHub等公司。

支持的操作系统:Windows、Linux和OS X

相关网站:http://rubyonrailsorg

31 Sencha Touch

Sencha Touch自称是“一种用于构建通用移动应用程序的领先的跨平台移动Web应用程序框架,基于HTML5和JavaScript”。它既有开源许可证版本,也有商业许可证版本。据官方网站声称,《财富》100强中60%使用它。

支持的操作系统:与操作系统无关

相关网站:https://wwwsenchacom/products/touch/

32 ZK

索尼、Sun、IBM、Adobe、电子港湾、富士通、梦工厂和优利系统等公司使用这种Java Web框架来构建Web和移动应用程序。提供收费支付及相关工具。

支持的操作系统:与操作系统无关

相关网站:http://wwwzkossorg

中间件

33 JBoss

红帽的JBoss中间件包括各种轻量级、对云计算友好的工具,同时结合、集成和自动化各个企业应用程序和系统。用户包括:橡树岭国家实验室、日产、思科、冠群科技、AMD及其他公司。

支持的操作系统:Linux

相关网站:http://wwwredhatcom/en/technologies/jboss-middleware

操作系统

34 红帽企业版Linux

红帽最知名的产品就是其旗舰Linux发行版,这需要付费订购。据该公司声称,《财富》全球500强公司中超过90%在使用红帽产品。

相关网站:http://wwwredhatcom/en/technologies/linux-platforms/enterprise-linux

35 SUSE Linux企业版

这款面向企业的Linux发行版同样备受大企业的追捧,它也需要付费订购。该公司声称,它有13000多个企业用户,包括伦敦证券交易所、SAP、天睿(Teradata)和沃尔格林连锁药店(Walgreens)。

相关网站:https://wwwsusecom

36 Ubuntu

Ubuntu提供广受欢迎的Linux发行版,有多个版本:桌面版、服务器版、云版、手机版、平板电脑版和物联网版。声称用户包括亚马逊、IBM、维基百科和英伟达。

相关网站:http://wwwubuntucom/index_kylin

项目管理

37 Project Libre

这个屡获奖项的项目是微软Project的替代者,下载量已有近200万人次。它有一大批用户,包括IBM、埃森哲、美国能源部、思科、ATI和AMD。

支持的操作系统:Windows、Linux和OS X

相关网站:http://wwwprojectlibreorg

存储

38 FreeNAS

这款开源网络附加存储(NAS)软件声称,它备受联合国、迪士尼互动媒体集团、路透社和Dr Phil等用户的“喜爱”。它可以安装到几乎任何硬件上,而TrueNAS提供的预先构建的设备就基于该技术。

支持的操作系统:FressBSD

相关网站:http://wwwfreenasorg

39 Gluster

Gluster是一种可高度扩展的网络文件系统,适合云计算环境。红帽提供一款基于该技术的收费产品,用户包括卡西欧和Intuit。

支持的操作系统:Linux

相关网站:http://wwwglusterorg

40 Lustre

Lustre是另一种可高度扩展的文件系统,旨在支持高性能计算(HPC)环境。一些最早采用它的用户包括美国的几大国家实验室:劳伦斯·利物莫尔国家实验室、桑迪亚国家实验室、橡树岭国家实验室和洛斯阿拉莫斯国家实验室。

支持的操作系统:Linux

相关网站:http://lustreorg

系统管理工具

41 Ansible

Ansible现在归红帽所有,它自称是“一种异常简单的IT自动化引擎,可以使云服务配置、配置管理、应用程序部署、服务内部的编排以及其他许多IT操作实现自动化。”使用它的科技公司包括:思科、瞻博网络、Evernote、推特、威瑞信、GoPro、EA Sports、Atlassian和韦里逊。它既有免费版,也有收费版。

支持的操作系统:Linux

相关网站:http://wwwansibleworkscom

42 Chef

作为另一款自动化工具,Chef支持开发运维方法,同时改善了速度、协作和安全性。拥有免费版和收费版。官方网站上显示用户包括:塔吉特(Target)、诺德斯特龙(Nordstrom)、Facebook、Etsy、IGM、雅虎和彭博社。

支持的操作系统:Windows、Linux和OS X

相关网站:https://wwwchefio/chef/

43 Hudson

Hudson在使用敏捷和开发运维方法的企业当中很流行,它是一种可扩展的持续集成服务器系统,可以监控重复作业的执行。这个项目得到了Eclipse基金会、甲骨文、Atlassian和YourKit的支持。

支持的操作系统:与操作系统无关

相关网站:http://hudson-ciorg

44 Puppet

Puppet号称“使用最广泛的开源IT管理系统”,它包括40多个基础设施管理方面的开源项目。除了开源版本外,它还有一款收费的企业版本。它声称,用户包括25000多家企业,比如迪士尼、沃尔玛、1-800-Flowerscom、Heartland Payment Systems、盖蒂社(Getty Images)和Yelp。

支持的操作系统:Windows、Linux、Unix和OS X

相关网站:https://puppetlabscom/puppet/open-source-projects

版本控制

45 Bazaar

Bazaar由Canonical管理,被许多开源项目所使用,包括Ubuntu、 GNU基金会、Linux基金会、MySQL、Bugzilla、 Debian和Maria DB。它简单易学,支持任何工作流程和工作区间模式,承诺存储效率很高、速度很快。

支持的操作系统:Windows、Linux和OS X

相关网站:http://bazaarcanonicalcom/en/

46 Git

这个版本控制系统已变得极受欢迎,这一方面归功于GitHub服务的使用日益广泛。使用它的公司和项目包括:谷歌、Facebook、微软、推特、领英、网飞、Perl、PostgreSQL、安卓、Rails、QT、Gnome和Eclipse。

支持的操作系统:Windows、Linux和OS X

相关网站:http://git-scmcom

47 Mercurial

Mercurial是一种分布式源代码控制管理工具,专注于帮助团队更轻松、更快速地协同工作。用户包括OpenJDK和NetBeans等各大项目。

支持的操作系统:Windows、Linux和OS X

相关网站:https://wwwmercurial-scmorg

48 Subversion

这个企业级版本控制系统得到Apache的支持,首次发布于2000年。使用它的企业组织包括Apache软件基金会自己、Hobby Lobby、Mono、Plone和GNU Enterprise。

支持的操作系统:Windows、Linux和OS X

相关网站:http://subversionapacheorg

Web服务器

49 Apache HTTP Server

Apache至今已有20年多的历史,专利是自1996年以来互联网上最受欢迎的Web服务器系统。据W3Techs声称,目前所有网站中553%是由Apache支持的。

支持的操作系统:Windows、Linux和OS X

相关网站:http://httpdapacheorg

50 Nginx

Nginx的人气也极旺,它被互联网上所有网站中的大约四分之一所使用。除了俄罗斯许多访问量很大的网站外,用户还包括网飞和WordPresscom。

支持的操作系统:Windows、Linux和OS X

相关网站:http://nginxorg

1Side-MenuAndroid

分类侧滑菜单 , Yalantis 出品。

项目地址: https://githubcom/Yalantis/Side-MenuAndroid

2Context-MenuAndroid

可以方便快速集成漂亮带有动画效果的上下文菜单, Yalantis 出品。

项目地址: https://githubcom/Yalantis/Context-MenuAndroid

3Pull-to-RefreshRentals-Android

提供一个简单可以自定义的 下拉刷新 实现,Yalantis 出品。

项目地址: https://githubcom/Yalantis/Pull-to-RefreshRentals-Android

4Titanic

可以显示水位上升下降的TextView

项目地址: https://githubcom/RomainPiel/Titanic

5AndroidSwipeLayout

滑动Layout ,支持单个View,ListView,GridView

项目地址: https://githubcom/daimajia/AndroidSwipeLayout

Demo地址: Download Demo

6Android Typeface Helper

可以帮你轻松实现自定义字体的库

项目地址: https://githubcom/norbsoft/android-typeface-helper

7android-lockpattern

Android的图案密码解锁

项目地址: https://codegooglecom/p/android-lockpattern/

Demo地址: https://playgooglecom/store/apps/detailsid=grouppalsandroidlibuilockpatterndemo

文档介绍: https://codegooglecom/p/android-lockpattern/wiki/QuickUse

APP示例:Android开机的图案密码解锁,支付宝的密码解锁

8ToggleButton

状态切换的 Button,类似 iOS,用 View 实现

项目地址: https://githubcom/zcweng/ToggleButton

9WilliamChart

绘制图表的库,支持LineChartView、BarChartView和StackBarChartView三中图表类型,并且支持 Android 22及以上的系统。

项目地址: https://githubcom/diogobernardino/WilliamChart

Demo地址: https://playgooglecom/store/apps/detailsid=comdbwilliamchartdemo

Demo项目: https://githubcom/diogobernardino/WilliamChart/tree/master/sample

10实现滑动ViewPager渐变背景色

项目地址: https://githubcom/TaurusXi/GuideBackgroundColorAnimation

11Euclid

用户简历界面, Yalantis 出品。

项目地址: https://githubcom/Yalantis/Euclid

12 InstaMaterial

Instagram的一组Material 风格的概念设计

项目地址: https://githubcom/frogermcs/InstaMaterial

13 SpringIndicator

使用bezier实现粘连效果的页面指示

项目地址: https://githubcom/chenupt/SpringIndicator

14 BezierDemo

仿qq消息气泡拖拽 消失的效果。

项目地址: https://githubcom/chenupt/BezierDemo

15 FoldableLayout

折叠的信纸被打开一样的动画效果

项目地址: https://githubcom/alexvasilkov/FoldableLayout

16Taurus

下拉刷新,Yalantis 出品。(是不是有点似曾相识呢?)

项目地址: https://githubcom/Yalantis/Taurus

17 PersistentSearch

在点击搜索的时候控件在原有位置显示输入框。

项目地址: https://githubcom/Quinny898/PersistentSearch

18 circular-progress-button

带进度显示的Button

项目地址: https://githubcom/dmytrodanylyk/circular-progress-button

19 discrollview

当上下滚动的时候子元素会呈现不同动画效果的scrollView,网页上称之为:视差滚动

项目地址: https://githubcom/flavienlaurent/discrollview

20 sweet-alert-dialog

一个带动画效果的 自定义对话框样式

项目地址: https://githubcom/pedant/sweet-alert-dialog

21 android-floating-action-button

Material Desig风格的 浮动操作按钮

项目地址: https://githubcom/futuresimple/android-floating-action-button

22 android-collapse-calendar-view

可以在月视图与周视图之间切换的calendar控件

项目地址: https://githubcom/blazsolar/android-collapse-calendar-view

22 android-collapse-calendar-view

可以在月视图与周视图之间切换的calendar控件

项目地址: https://githubcom/blazsolar/android-collapse-calendar-view

23 NumberProgressBar

个简约性感的数字进度条

项目地址: https://githubcom/daimajia/NumberProgressBar

24 CircularProgressView

CircularProgressView 是通过自定义view的方式实现的Material风格的加载提示控件,兼容任何版本。

项目地址: https://githubcom/rahatarmanahmed/CircularProgressView

25 OriSim3D-Android

opengl 实现了各种折纸效果,模拟了从一张纸折叠成一条船的整个过程

项目地址: https://githubcom/RemiKoutcherawy/OriSim3D-Android

26、万能日历控件:CalendarView

GitHub: https://githubcom/huanghaibin-dev/CalendarView

中文使用文档: https://githubcom/huanghaibin-dev/CalendarView/blob/master/QUESTION_ZHmd

27、大图查看器: BigImage ImageView ViewPager

Github: https://githubcom/SherlockGougou/BigImageViewPager

地址: https://wwwjianshucom/p/b15e65791c3f

支持超长图、超大图的浏览器,优化内存,支持手势放大、下拉关闭、查看原图、加载百分比、保存等功能。现已支持androidx。

28、安卓工具包androidUntilCode(安卓必备)

Github: https://githubcom/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CNmd

29、万能适配器-BRAVH

官网: http://wwwrecyclervieworg

GitHub: https://githubcom/CymChad/BaseRecyclerViewAdapterHelper

RecyclerView

作为Android最常用的控件之一,是否常常为“她”操碎了心

BRVAH受益群体是所有Android开发者,希望更多开发者能够一起来把这个项目做得更好帮助更多人

30、智能刷新控件--SmartRefreshLayout

GitHub: https://githubcom/scwang90/SmartRefreshLayout

中文: https://giteecom/scwang90/SmartRefreshLayout

SmartRefreshLayout以打造一个强大,稳定,成熟的下拉刷新框架为目标,并集成各种的炫酷、多样、实用、美观的Header和Footer。 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。 它继承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout , 其他第三方的 Ultra-Pull-To-Refresh 、 TwinklingRefreshLayout 。 还集成了各种炫酷的 Header 和 Footer。

31、内存泄漏检测工具--leakcanary

使用方式: https://wwwjianshucom/p/b83ddffcb3b5

LeakCanary是Square公司基于MAT开源的一个工具,用来检测Android App中的内存泄露问题。官方地址: https://githubcom/square/leakcanary

32、 1218683832 / AndroidSlidingUpPanel

SlidingUpPanelLayout:可以上下滑动的菜单布

https://githubcom/1218683832/AndroidSlidingUpPanel

在前面的课程中,随着对Android体系的了解,已经可以进行正常的Android应用开发了。在Android开发中,同其他工程开发一样,也经常使用一些提高效率的框架,本文我们做一个对比。这些框架,既包括:网络请求框架、也包括加载库框架、还包括数据库操作等一些框架,总之,了解和熟悉这些框架,会对自己的开发效率有很大的提升和帮助。

网络请求框架

1、okHttp

在前文的学习中,我们已经了解过okHttp,是一个常用的网络加载库。

2、Retrofit

介绍

Retrofit是一个很不错的网络请求库,该库是square开源的另外一个库,之前的okhttp也是该公司开源的。

Retrofit是基于OkHttp封装的RESTful网络请求框架,使用注解的方式配置请求。优点是速度快,使用注解,callback函数返回结果自动包装成Java对象。官方自己的介绍说:

A type-safe REST client for Android and Java

该网络框架在github上的地址如下:https://squaregithubio/retrofit/

要求

Retrofit支持的http方式方式包括 GET/POST/PUT/DELETE/HEAD/PATCH,Retrofit要求Java的版本是18+,Android应用的API版本应该在21+。

依赖

使用Retrofit库,和其他库一样,首先需要设置依赖,依然是在buildgradle文件中设置依赖:

//添加retrofit库依赖

implementation ‘comsquareupretrofit2:retrofit:210’

//添加gson转换器

implementation ‘comsquareupretrofit2:converter-gson:210’

使用

通过一个例子,我们可以来演示该框架的使用步骤:

1、定义请求接口,即程序中都需要什么请求操作

public interface HttpServices {

/

获取头条新闻

@param type 新闻类型

@param key apiKey

@return

/

@GET(“toutiao/index”)

Call getNewsList(@Query(“type”) String type, @Query(“key”) String key);

}

2、实例化Retrofit对象,使用的Builder的模式创建,如下代码所示:

Retrofit retrofit = new RetrofitBuilder()

baseUrl(ConstantsBASE_API)

addConverterFactory(GsonConverterFactorycreate())

build();

注意,这里设置结构体转换器,是可以直接把网络请求回来的数据转换为Java结构体,这里设置的Gson解析器,因此要引入相应的转换器支持库。

3、得到接口对象,自己创建的全局的接口对象,并调用相应的接口,得到一个类似于请求Call对象。如下所示:

HttpServices httpServices = retrofitcreate(HttpServicesclass);

Call newsListCall = httpServicesgetNewsList(“top”, ConstantsAPI_KEY);

4、加入到请求队列中,并设置回调方法:

newsListCallenqueue(new Callback() {

@Override

public void onResponse(Call call, Response response) {

//网络请求成功的回调方法

List list = ArraysasList(responsebody()resultdata);

Logi(“TAG”, “请求成功:” + StringvalueOf(listsize()));

NewListAdapter adapter = new NewListAdapter(RetrofitActivitythis);

adaptersetmData(list);

mRecyclerViewsetAdapter(adapter);

}

@Override

public void onFailure(Call call, Throwable throwable) {

//网络请求失败的回调方法

Logi(“TAG”, “请求失败:” + throwablegetMessage());

}

});

其他界面操作和之前的Android中的内容一致。

3、RxJava

简单来说,用来处理事件和异步任务,在很多语言上都有实现,RxJava是Rx在Java上的实现。

原理

RxJava最基本的原理是基于观察者模式来实现的。通过Obserable和Observer的机制,实现所谓响应式的编程体验。

特点

RxJava在编程中的实现就是一种链式调用,做了哪些操作,谁在前谁在后非常直观,逻辑清晰,代码维护起来非常轻松。

RxJava也是一个在github上的库,githubhttp://wwwxingkongmjcom/news/id/62html地址如下:https://githubcom/ReactiveX/RxJava

基于此,还有一个RxAndroid,github地址如下:https://githubcom/ReactiveX/RxAndroid

RxJava和RxAndroid的关系

RxAndroid是RxJava的一个针对Android平台的扩展,主要用于 Android 开发。

基本概念

RxJava 有四个基本概念:

Observable:可观察者,即被观察者Observer:观察者subscribe:订阅事件

这四个概念之间的逻辑关系是:Observable和Observer通过subscribe方法实现订阅关系,从而Observable可以在需要的时候发出事件来通知Observer。

事件

RxJava 的事件回调方法主要包含以下几个:

onNext:普通的事件onCompletedhttp://daduchangnet/432717html:事件队列完结。RxJava 不仅把每个事件单独处理,还会把它们看做一个队列。RxJava 规定,当不会再有新的 onNext 发出时,需要触发 onCompleted 方法作为标志。:事件队列异常。在事件处理过程中出异常时, 会被触发,同时队列自动终止,不再允许再有事件发出。在一个正确运行的事件序列中, onCompleted和 有且只有一个,并且是事件序列中的最后一个。需要注意的是,onCompleted() 和 () 二者也是互斥的,即在队列中调用了其中一个,就不应该再调用另一个。

数据库操作框架

在开发时,本地数据库可以起到缓存数据和存储业务数据的作用,随着技术的成熟,不断推出了有很多关于数据库的操作框架。比较常见的数据库操作框架有诸如:GreenDao,OrmLite 和 ActiveAndroid,DBFlow等。

GreenDAO

GreenDAO是一个开源的 Android ORM(“对象/关系映射”),通过 ORM(称为“对象/关系映射”),在我们数据库开发过程中节省了开发时间!

GreenDao的官方文档地址如下:http://wwwxingkongmjcom/news/id/63html

GreenDao的作用

通过 GreenDao,我们可以更快速的操作数据库,我们可以使用简单的面相对象的API来存储,更新,删除和查询 Java 对象。这款数据库操作框架的特点是:

高性能,在官方的统计数据中,GreenDao在GreenDao,OrmLite 和 ActiveAndroid三个框架中,读、写、更新操作效率均表现第一。易于使用的强大 API,涵盖关系和连接。内存消耗较小。安全:greenDAO 支持 SQLCipherhttp://wwwxingkongmjcom/news/id/64html,以确保用户的数据安全;

核心概念

GreenDao 的核心类有三个:分别是:

DaoMaster:保存数据库对象(SQLiteDatabase)并管理特定模式的 DAO 类(而不是对象)。它有静态方法来创建表或删除它们。它的内部类 OpenHelper 和DevOpenHelper 是 SQLiteOpenHelper 实现,它们在 SQLite 数据库中创建模式。DaoSession:管理特定模式的所有可用 DAO 对象,您可以使用其中一个getter方法获取该对象。DaoSession 还提供了一些通用的持久性方法,如实体的插入,加载,更新,刷新和删除。XXXDao:数据访问对象(DAO)持久存在并查询实体。对于每个实体,greenDAO 生成DAO。它具有比 DaoSession 更多的持久性方法。Entities:可持久化对象。通常, 实体对象代表一个数据库行使用标准 Java 属性(如一个POJO 或 JavaBean )。

使用

按照官方的文档和github上的说明可以实现greendao的使用。

首先进行的是依赖,对于greenDao,有两个地方需要设置,分别是项目根目录中的 buildgradle,还有module中的buildgradle。

classpath ‘orggreenrobot:greendao-gradle-plugin:330’ // add plugin

在项目根目录中的buildgradle目录中写这句话的意思是添加greenDao的插件。

在项目module中的buildgradle中也需要进行配置,有两个地方需要设置,如下图所示:

apply plugin: ‘orggreenrobotgreendaohttp://wwwxingkongmjcom/news/id/66html’ //开头加入该代码

dependences{

implementation ‘orggreenrobot:greendao:320’

}

然后就可以使用了。

bean实体

可以在项目中创建自己业务需要的实体类,并通过注解来设置是实体类,字段约束等内容。然后点击Android Studio中的Make module,即可自动生成XXXDao代码,以此来方便开发者的操作。生成的XXXDao类,不可修改和编辑,是自动生成的。

ORMLite

ORMLite框架是另外一款Android开发中可以使用的数据库操作框架。该框架的文档地址如下:https://ormlitecom/sqlite_java_android_ormshtml

该框架的文档准备的不是特别友好,此处不再赘述。

总结,所有的框架原理几乎都相差不大,只是操作有所差异。

视图注入框架

在Android项目开发过程中,有太多的页面需要布局完成,同时在代码中需要些大量的findviewbyid的操作,来实现控件的解析。于是就有人想能否轻松一些,解放双手节省时间,干一些其他有意义的事情,于是ButterKnife就来了。

ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码,可视化一键生成。

该项目在github上的地址如下:http://wwwxingkongmjcom/news/id/65html

这个框架的优势也非常明显:

强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adapter里的ViewHolder绑定问题运行时不会影响APP效率,使用配置方便代码清晰,可读性强

使用

首先是设置依赖,在buildgradlehttp://daduchangnet/432714html中进行依赖设置:

implementation ‘comjakewharton:butterknife:1021’

annotationProcessor ‘comjakewharton:butterknife-compiler:1021’

需要注意,该框架要求Java环境18版本以上,SDK版本在26以上,因此在使用到的module中的buildgraldle文件中,还必须添加如下代码配置:

apply plugin: ‘comjakewhartonbutterknife’

android{

//…

compileOptions {

sourceCompatibility JavaVersionVERSION_1_8

targetCompatibility JavaVersionVERSION_1_8

}

//…

}

另外,还必须在项目根目录中的buildgradle文件中,添加该框架的插件,如下图所示:

dependences{

classpath ‘comjakewharton:butterknife-gradle-plugin:1021’

}

然后即可在代码中进行使用了。

在使用该框架的页面进行绑定诸如,如下所示代码:

ButterKnifebind( this) ;

主要的功能

@BindView():控件id 注解,解放双手,不用再每个控件都写一遍findviewById@BindViews():多个控件id 的注解,括号内使用花括号包括多个id即可,中间用,分割开在Fragment中使用,绑定Fragment。@BindString():绑定字符串@BindArray:绑定数组@BindBitmap:绑定bitmap资源@OnClick、@OnLongClick:绑定点击事件和长按事件…还有很多

插件安装

如果是页面很复杂,一个一个写BindView也很费劲,在Android Studio中,可以安装一个ButterKnife的插件,安装该插件后,可以在Studio中直接将对应的布局中的所有控件均给自动生成。

注意,在进行自动生成时,鼠标要放在布局文件上。

注意事项

ButterKnife框架在使用时,要求的版本比较高,包括Java的版本也有限制。因此,如果计划在项目中使用,要提前做好预备工作,以防止对已有项目和业务带来不必要的麻烦,反而影响工作进度。

问题一:程序开发中的框架是什么 我们目前先不要了解那么多 框架是为了方便我们程序员开发 减贰代码量 及代码质量的工具

框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。

java开发中的框架不是太多 我们可以慢慢学习 先慢慢了解一种。

问题二:什么是框架?框架中要包含什么?为什么要开发框架?如何做框架? 以Java 为例子。 java 之前没有框架,或者说 自己公司封装了自己的框架。为什么要封装穿? 因为1 在实际开发中 很多代码重复再敲,浪费时间就是浪费金钱。

如: jsp+javabean+servlet 开发 jsp中的数据通过request-------》filter(自己解析了 封装成对象)-----》servlet 这还是好一些的。起初是 :request-------->servlet------>servlet 自己解析 通过requestgetparxxxx(参数名) ------》封装到javabean 代码重复比较大。

如果 用springmvc 就好多了 jsp 通过form 表单提交 直接映射到 controller 方法中的参数 (一句话 就是省代码)

框架的好主要作用是: 快速开发。

好的框架设计 的作用: 松耦合,便于后期维护。减少多余的代码量。

框架包含了 许多 反射机制。

设计模式。

如何做框架:根据你的需求来设计。。。。。。

问题三:Java中的三大框架分别有什么用 一、Spring

Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。

二、STRUCTS

Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

三、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

问题四:什么是android的框架开发 上图中的第二层Framework

问题五:什么是js框架? 直接用js会有兼容性问题,js框架一般预处理了很多兼容性问题,实现了很多常用操作,减少工作量,当然使用框架也会使整叮网站的js略臃肿,具体的站视情况使用吧

问题六:开源,免费的应用快速开发框架是什么意思 ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android clitent的模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了缓存功能,在android中加载的的时候,对oom的问题,和对加载错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。

目前ThinkAndroid主要有以下模块:

MVC模块:实现视图与模型的分离。

ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。

数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。

模块:通过client进行封装数据请求,支持异步及同步方式加载。

缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置

缓存模块:imageview加载的时候无需考虑加载过程中出现的oom和android容器快速滑动时候出现的错位等现象。

配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。

日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印

下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。

网络状态检测模块:当网络状态改变时,对网络状态进行检测。

问题七:android 五大应用开发框架是什么 android应用开发框架是 Application Framework 其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。下面自底向上分析各层。

Android架构

1、Linux Kernel

Android基于Linux 26提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。 如果你只是做应用开发,就不需要深入了解Linux Kernel层。

2、Android Runtime

Android包含一个核心库的 ,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是dex,dex格式是专

优秀的开源系统框架有哪些推荐

Yui-ext基于Yahoo UI的扩展包yui-ext是具有cs风格的web用户界面组件,能实现复杂的Layou布局,界面效果可以和backbase比美,而且使用纯Jav...
点击下载
热门文章
    确认删除?
    回到顶部