CrossApp:跨平台app开发引擎

CrossApp简介

CrossApp是一款完全开源、免费、跨平台的移动应用开发引擎,基于最宽松的MIT开源协议,所以开发者可以完全免费、毫无顾虑的使用CrossApp开发任何商业项目,官方会提供每天8小时的免费在线页面问答式服务,每个问题的反馈速度大概在30分钟左右,回复率90%。
CrossApp采用C++开发(即将支持js和lua编写),可直接导出ios和android原生应用,拥有高性能,多控件,开发速度快的优势。完美的集成了各种系统接口,如:推送、GPS、电话、短信、通讯录、蓝牙、拍照、摄像头等。 拥有28万开发者的“9秒社团”进行主要的开发和维护工作,同时目前还拥有20多个来自各大互联网公司的开发精英自愿组成的“9秒社团常务贡献委员会”共同对代码进行维护和更新,目前CrossApp保持着每周1~3次的快速迭代!

主要功能与特色
主要功能
1. 跨平台
CrossApp暂时主要支持目前最主流的移动平台IOS和Android,后续更新版本将完善更多平台的支持。

22112321_LcB2

CrossApp的平台无关性,使得相对传统的iOS和Android原生应用开发,CrossApp更能节省开发的周期和成本,App开发完成后只需要经过较为简单的移植工作,就能轻松实 现在不同平台上应用。2. 整合部分第三方库
最初版本的CrossApp整合一些第三方库,例如常见的数据解析库jsoncpp、tinyxml、http等,同时CrossApp也通过第三方库spidermonkey转换,使之可以直接使用js脚本编写程序。

3. 基于OpenGL ES 2.0
CrossApp的图形渲染使用的是Open GL ES 2.0,渲染效率高,可以使移动设备的GPU发挥到最佳效果。

引擎特色
1. 开源
开源是9miao.com的一贯坚持的理念,CrossApp也是开源的移动App开发引擎。由于CrossApp是基于最宽松的MIT开源协议,所以开发者可以完全免费、毫无顾虑的使用CrossApp制作任何商业项目,并且在开发过程中遇到的有关CrossApp的相关问题,9秒社团技术团队负责相关技术难题的解答并给予技术支持(官方网站CrossApp专区回复问题,回复率100%)。
CrossApp会进行持续的版本更新,后续的版本更新与维护由9秒社团常务贡献委员会(后面简称“9贡委”)与9秒社团官方共同完成,开发者可以申请加入9贡委,为CrossApp的进一步完善做出自己的贡献。提交的版本将由9秒社团官方审核,审核完成后将整合进下一版的CrossApp版本。
CrossApp GitHub :https://github.com/9miao/CrossApp
CrossApp OSC@Git :http://git.oschina.net/9miao/CrossApp

2. 丰富的UI控件

CrossApp的设计宗旨在于为移动应用开发者提供快速、高效的开发解决方案。在此基础上,CrossApp封装了大量的UI控件,各类控件的功能十分丰富,开发者可以直接使用这些控件进行应用的开发。这些控件基本满足应用开发需求中的大部分功能,也免去了自己封装UI控件花费的大量时间,进一步提升开发的效率、节省开发的成本。同时CrossApp也会整合部分由第三方开发者提供的优秀控件资源,更大的丰富CrossApp的UI控件。

3. 提供CrossApp配套编辑器

高效快速的开发模式少不了不同编辑器的支持,最初版本的CrossApp没有提供引擎相关编辑器,但在2014年7月份的更新中将推出编辑器,辅助开发者进行更快速便捷的移动app程序的开发。

与其他开发平台比较
下表为当前移动平台开发App所使用的主要技术比较:

22112322_3txc

通过上表分析我们可以得出:

1. Mobile Web
以HTML5和JQuery为代表的web开发技术是以纯浏览器为基础的,所以没有离线能力可言,更无法充分发挥各平台的功能和特性。

2. Hybrid App
Hybrid App即混合模式应用程序,是指介于web和native直接的app,具备一定Native原生App优秀的用户体验和Web App跨平台的优势。但由于Hybrid仍旧以前端技术为基础,无法对内存和系统资源进行有效的管理。

3. Interpreted App
以前端技术为基础,同样不能有效对内存和系统资源进行管理。

4. Native App
原生开发以IOS和Android为代表,虽然原生开发能够实现最佳的用户体验和高优化,但开发的成本较高。而且因为原生开发几乎不支持跨平台特性,相对于跨平台技术来说,带来的实际效益更低。

综上所述,还是Native App和Cross compiling的综合效率更高,开发者需要根据实际情况,考虑各方面因素来选择合适的开发解决方案。

开发模式介绍
CrossApp采用的开发模式是各平台共享一套代码,采用交叉编译的方式实现不同平台上的运行。CrossApp是基于MVC模式的,面向对象的目标就是设计出低耦合、高聚合的程序,MVC模式提供了一种很好的解决方案。这里的MVC即模型层(Model)、视图层(View)、控制层(Controller),三者各司其职,共同维持一个完整的应用程序。

22112322_aCxy

在CrossApp中的Model层也就是我们各种数据原型、业务逻辑和算法,App在功能上完全依赖Model层的实现;View层顾名思义就是展现给用户的UI界面,而Controller层的职责就是把Model和View两个相互关联不大的层衔接起来,将用户的操作传递给Molel层,在控制View层表现出来。CrossApp通过CAView和丰富的UI控件来实现View层的功能,通过CAViewController及其子类来共同完成Controller层,实现Model和View之间的通信。

CrossApp demo

 

103419_LXY3_1250933  103440_xGG5_1250933

103503_MSBF_1250933  103530_v74d_1250933

https://github.com/9miao/CrossApp/