UDN-企业互联网技术人气社区

板块导航

浏览  : 1951
回复  : 1

[前端框架] 跨平台app开发引擎 CrossApp

[复制链接]
饼干妹妹的头像 楼主
发表于 2015-7-25 20:02:23 | 显示全部楼层 |阅读模式
本帖最后由 花裤衩 于 2015-10-12 14:43 编辑

## 软件名称:        
## 软件介绍:


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.jpg

CrossApp的平台无关性,使得相对传统的iOS和Android原生应用开发,CrossApp更能节省开发的周期和成本,App开发完成后只需要经过较为简单的移植工作,就能轻松实 现在不同平台上应用。

2. 整合部分第三方库
最初版本的CrossApp整合一些第三方库,例如常见的数据解析库jsoncpp、tinyxml、http等,同时CrossApp也通过第三方库spidermonkey转换,使之可以直接使用js脚本编写程序。

[size=2]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版本。

2. 丰富的UI控件


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

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


与其他开发平台比较

下表为当前移动平台开发App所使用的主要技术比较:
22112322_3txc.jpg

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

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.jpg


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

CrossApp demo
103419_LXY3_1250933.jpg
103440_xGG5_1250933.jpg

103503_MSBF_1250933 (1).jpg
103530_v74d_1250933.jpg
  

开源是9miao.com的一贯坚持的理念,CrossApp也是开源的移动App开发引擎。由于CrossApp是基于最宽松的MIT开源协议,所以开发者可以完全免费、毫无顾虑的使用CrossApp制作任何商业项目,并且在开发过程中遇到的有关CrossApp的相关问题,9秒社团技术团队负责相关技术难题的解答并给予技术支持(官方网站CrossApp专区回复问题,回复率100%)。

CrossApp会进行持续的版本更新,后续的版本更新与维护由9秒社团常务贡献委员会(后面简称“9贡委”)与9秒社团官方共同完成,开发者可以申请加入9贡委,为CrossApp的进一步完善做出自己的贡献。提交的版本将由9秒社团官方审核,审核完成后将整合进下一版的CrossApp版本。

2. 丰富的UI控件

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

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

与其他开发平台比较

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

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

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),三者各司其职,共同维持一个完整的应用程序。


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

CrossApp demo

103503_MSBF_1250933.jpg

## 授权协议:    MIT   
## 协议解读:

MIT许可证之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称「X条款」(X License)或「X11条款」(X11 License)

MIT内容与三条款BSD许可证(3-clause BSD license)内容颇为近似,但是赋予软体被授权人更大的权利与更少的限制。

被授权人有权利使用、复制、修改、合并、出版发行、散布、再授权及贩售软体及软体的副本。

被授权人可根据程式的需要修改授权条款为适当的内容。

在软件和软件的所有副本中都必须包含版权声明和许可声明。

此授权条款并非属copyleft的自由软体授权条款,允许在自由/开放源码软体或非自由软体(proprietary software)所使用。

此亦为MIT与BSD(The BSD license, 3-clause BSD license)本质上不同处。

MIT条款可与其他授权条款并存。另外,MIT条款也是自由软体基金会(FSF)所认可的自由软体授权条款,与GPL相容。

协议英文原文:http://www.opensource.org/licenses/mit-license.php



## 相关文档:

CrossApp 简介
Mac开发环境搭建
Win开发环境搭建
CrossApp介绍

## 代码下载:



相关帖子

发表于 2017-8-30 10:57:56 | 显示全部楼层
楼主的案例分析得很棒
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部