移动互联网中,不同平台的技术障碍等壁垒增加了开发者的开发门槛和开发周期。所以若想在此有立足之地,就要熟练掌握跨平台工具。
如果说近来迅猛发展的移动互联网是一个江湖的话,那么iOS、Android就是其中的少林和武当。然而不同门派的生态圈以及技术障碍,增加了渴望成为高手的开发者的开发门槛和开发周期。对此,能够见招拆招的跨平台开发工具就成了大家喜闻乐见的存在。

Xamarin特邀讲师GenerPoint创始人衣明志:用C#开发iOS/Android应用
衣明志在演讲中提到,有人之所以会怀疑使用C#开发有性能问题,是因为很多人认为C#等同于.Net。其实,两者并不是同一概念,C#是一种语言,只是通常是.Net在用而已。使用C#编写的驱动程序,在iOS和Android上,可以通过IOT将之变成本地代码。除此之外,引擎部分使用C#编写也完全可行。

Xamarin特邀讲师GenerPoint创始人 衣明志
使用C#语言的Xamarin特点:
- 解决各个平台本地API的调用。
- 支持Apple平台、Android、微软的各种设备。
- 用一个语言搞定所有生态。
- UI设计方面,整合Android的UI设计功能,iOS上,UI编辑目前仍需仰赖Xcode。
- 提供各个平台的SDK。
- 提供云测服务。它帮助开发人员进行移动应用在不同机型的适配和调试。
AppCan正益无线CTO赵庆华:AppCan如何弥补HTML5的缺陷
赵庆华表示,现在来看,HTML5呈现的是一个增长的趋势,而且它也具有很强大的功能。但是,就用户而言,HTML5表现和体验不佳,适配难度要比想象的更难一些,所以也就出现了一些问题。而AppCan采用混合开发的模式,既发挥了HTML5在跨平台表现上的优势,又很好的保留了原生应用的优秀体验,在整体上获得了很好的平衡。

正益无线CTO 赵庆华
AppCan特点:
- Hybrid App技术开发。
- 提供插件技术,并开放其开发技术。
- 提供标准引擎。
- 提供一套开发工具,这套开发工具面向的是没有太多的开发经验、开发能力的人员,不需要安卓的开发软件、不需要苹果的开发软件,只要把这一套安装上去,就能写网页。
- 提供内置的编译环境,它不是真正意义上的代码编译,是打包的工具,完成网页代码跟原生的能力拼装运行。
- 提供云端的编译环境。
- 提供一套应用环境,帮助用户做升级、推送、用户行为分析。
- 实现一站式平台,提供从早期的开发到编译、应用的运维、管理。
LiveCode China CEO庞国灏:LiveCode的编程速成应用
LiveCode主要服务那些想要学编程的非专业人员,特别是学生。庞国灏透露,现在还处于研发者测试阶段的LiveCode7,完全是为中国市场来设计的。除了它预留的名字以外,其他的任何东西都可以直接使用中文。

LiveCode China CEO 庞国灏
LiveCode特点:
- 前端和后端都可以使用LiveCode来写,而且全部免费。
- 用户开发一个代码源,LiveCode帮助完成所有的适配。
- 平民化:简单的英语脚本、图像化开发环境,目标就是让全民都可以写代码。
- 免费化:免费的开源版本、免费的培训教材和免费的社区支援。
- 普及化:研发跨平台支持、发布跨平台支持和云端服务器支持。
Unity中国高级技术支持工程师张磬:Unity的调试发布技巧
Unity是移动开发领域应用最为广泛的游戏开发引擎及工具套件。张磬演讲中提到,在Unity开发过程中,支持你所编写的包在真机调试后,可以有代码下载的方式。还支持真机调试时,进行断点调试,并能够动态的修改变量的值。

Unity引擎功能介绍:
- 渲染系统:AAA级的渲染效果。
- 地形系统:强大的地形编辑器。
- Shuriken:即见即所得的粒子特效编辑系统。
- Mecanim:可视、高效的动画编辑系统。
- Lightmap烘焙系统:逼真的离线渲染。
- 物理系统:高效、逼真的物理模拟。
- Occlusion Culling系统:高效的遮挡剔除功能。
- NavMesh导航网格:易用而高效的寻路系统。
- 2D系统:原生支持2D游戏开发。
- Audio Mixer:创建复杂动态的音效。
- 脚本编辑器:支持C#、JavaScript、Boo。
- 性能分析器:对各大模块详细实时的性能分析。
- Asset Store:资源丰富的在线商店。
- 一次开发,多平台同时发布。
Q&A环节,嘉宾、主持人与现场观众以一问一答的方式进行技术交流。

提问:这些跨平台的系统跟传统的有什么缺陷或者不足?
赵庆华:缺陷的话,AppCan认为,如果你有缺陷,我们用原生去做,如果这个缺陷不是你需要的,你用网页去做。也可以百分之百的去用网页做。这样灵活度是比较高的。如果说有什么缺陷,我觉得是推广不够。
庞国灏:每个品牌都有它的专长,LiveCode擅长的就是文字、图片的处理,但要做商业,Unity是最高的。做跨平台一定会有渠道,有好有坏,好处是显示代码,不需要做适配,但是它要经过一层的解析。我们也是产生源代码,但不会像JAVA写的那么好。从你的想法到实现解决这个问题,之间都有一条沟,这个沟到底多深、多宽,不同的工具代表不同的。我觉得LiveCode让你感觉我有什么想法,我可以马上实现。
衣明志:每一种语言都有它对应的机制。跨平台只是一个面,用C#去做所有跨平台的开发。Android就是Android,iOS就是iOS,只不过他们有一些共用的代码可以共享。你用C#用Xamarin去写,它是通过它的编译器把它编译得跟MIC一样的代码。在性能上面没有显著的差别。刚才问对资源占用Xamarin有没有一些影响,是有影响的,但是C#在解决性能上面是非常有优势的。用Xamarin或者用C#去做,好处是你用C#语言搞定所有平台,解决一些极限化的平台问题,再使用Windows Studio。整个全生命周期的管理,你的工程化会比较重。
张磬:Unity如果说一定要有什么不太好的地方,就是它现在还不是开源的。Unity已经经历了十年的技术经验,能够有这十年的技术经验,并能够发展到今天这样的规模,它一定是有它的过人之处。如果你说Unity有性能问题,就是你在使用过程中要注意的问题,或者你要牺牲其他的优势来弥补这个部分,这是所有的开发商需要思考的问题。当你不知道哪些东西好的时候,不知道做什么的时候,就可以多去尝试一下。多去做一下。不是适合别人的东西就一定适合你。要不然,所有人就只知道在这里问为什么。