最近两个月以来工作之余一直在做一件事情,就是把现在的产品移植到各主流移动平台上。其实需求很简单,就是想让现有的产品能在各大移动平台上有个端,让客户能移动办公。这个需求大概也是个大众化普遍的需求,于是乎就饶有兴趣地把它当作一个主题比较深入地研究了一下。两个时间自己没事儿就倒腾一下,做了一个像模像样的产品,并覆盖到IOS、Andriod、WebOS、Chrome和Windows Phone(还在开发中),基本上把跨平台的移动开发这条路探明了一下,这几天就以blog的方式把这两个月的心得和收获总结一下。
移动平台和服务器端的开发还真有很大的差别,现在还没有像Java那样解决服务器端跨平台问题的解决移动端跨平台的方案,但这个跨平台的需求比服务器端更强烈,现在数得出来的主流平台就IOS、Android和WP三条技术路线,并且势均力敌,导致移动产品都起码得覆盖这三个平台。另外传统的B/S优势在移动端不明显,C/S依然是移动端的主流,这必然导致移动开发人员负担很重,Java、C#、Objective-C、C++......,横跨这么多技术路线不是所有人都做得到的。现在看来,比较靠谱的跨平台开发语言就是Javascript,也就只有这个语言是各个平台都原生态支持的。于是乎,Javascript最近几年火爆地不行,市面上也有各种基于Javascript的跨平台方案。总体考察下来,Phonegap+HTML5的组合是一个比较成熟,并且行得通的方案。我这两个月,就是基于这样的总体路线做到了能覆盖几大平台的产品。
但Phonegap+HTML5不是万能的,不是所有类型的产品都适合,通过自己的实际体验,只有那种交互性不强,以信息获取为主的产品比较适合采用这种技术路线。关键问题就是,它没有native来得直接,为了跨品台所带来的性能损耗比较大,无法做出交互性很强,非常流畅高效的应用。因此,别奢望用它来开发很炫的游戏。那些基于HTML5做移动网页游戏的公司,比如UCWeb,做出的东西实在没法和native的游戏相比,限制太多。但用它开发一些信息类应用或企业级向移动端移植的产品是没问题的。因此,这里谈的技术架构和路线也是基于这样的前提,如果是开发游戏类产品,那应该是另外的景象。
废话说了好多,下面来看看如何开始跨平台的移动开发。
撇开产品设计和需求分析不谈,就开发而言,主要要解决两个问题,一是开发平台的搭建。二是解决主要的技术障碍。
开发平台的搭建:
- IOS:Mac+Xcode
- Android:Eclipse+Android SDK
- WP:.net studio
- WebOS:Eclipse+WebOS SDK+VirtualBox
- Chrome:Chrome开发者工具
- HTML5:各平台的编辑和调试器
主要的技术障碍及解决方案:
- UI:JQuery Mobile等UI组件
- Native化:Phonegap+各平台对HTML5的支持
- 服务器端数据通信:Jetty(HTTP)+Netty(Websocket)
- 移动端数据通信:Ajax(客户端到服务端请求)+Websocket(服务器端向客户端推送)
- 移动端存储:HTML5(Localstorge)+文件系统访问
- 与其他移动产品的整合
- 各平台上产品的包装和项目结构
- 安全
- 效率
当以上的问题得到验证后,大概也能判断是否这条路能行得通,下面我也是按以上内容的划分,详细地阐述里面的细节,供大家将来技术选型的判断依据,毕竟不是所有人都有两个月来做技术选型。
分享到:
相关推荐
├─1113_AM_React-basic-1.mp4 ├─1113_AM_React-basic-2.mp4 ├─1113_AM_React-basic-4.mp4 ├─1113_PM_React-basic-3.mp4 ├─1114_AM_React-basic-5.mp4 ├─1114_AM_React-basic-6.mp4 ...
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、微信小程序等多个平台。该资源有自己独到的见解,适合小白使用,有vue或小程序开发经验者更容易上手。
比较几款跨平台移动端开发app框架hybrid app flutter React WeeX不看好这个 kotlin也不看好 cordova phoneGap ionic hbuilder(uni-app) HERO
jQuery Mobile是目前*流行的跨平台移动开发框架,本书以实例驱动讲解的方式,让零基础的读者也能轻松掌握jQuery Mobile下的应用开发。本书分为4篇,*篇是移动开发入门篇,介绍了jQuery Mobile、HTML 5和移动开发的...
移动跨平台开发工具 Project Mira-Objective-C and Swift.pdf
Delphi 7跨平台控件开发与应用(清晰版),经典的编程好书。共五个分卷。这是第三个。
Delphi 7跨平台控件开发与应用(清晰版),经典的编程好书。共五个分卷。这是第四个。
Delphi 7跨平台控件开发与应用(清晰版),经典的编程好书。 共五个分卷。这是第一个。
由于基于C++和STL特点使其广泛应用于游戏开发、移动互联网产品开发,目前最新版本为3.0alpha,由于其代码的开源特性和跨平台支持,可以快速开发移动游戏并部署到Android、iOS等平台,已经有超过百款的Ccoos2d-x的...
REACT NATIVE跨平台移动项目实战参考:现实中,Android和iOS两大移动操作系统分庭抗礼的局面决定了注定会有类似RN这样跨平台移动开发框架的出现,只不过各家实现的思路不同而已。
Delphi 7跨平台控件开发与应用(清晰版)ooH无加密 第二分卷
《构建跨平台APP:Phonegap移动应用实战》是一本APP实战书,包含20多个APP实例和3个APP项目,还结合了HTML5移动开发。本书面向移动开发入门人员,低门槛,浅阅读,最适合移动APP创业小白。
构建跨平台APP-jQuery.Mobile移动应用实战
PhoneGap, 通信机制及部署和调试 运动传感器, 跨平台开发 地理位置,
跨平台开发技术-PhoneGap从入门到精通(PhoneGap、罗盘、运动传感器、地理位置
《C++跨平台开发技术指南.pdf 》很实用的书籍。跨平台开发值得一看。
Xamarin是一个跨平台开发框架,这一框架的特点是支持用C#开发IOS、Android、Windows Phone和Mac应用,这套框架底层是用Mono实现的。 Mono是一款基于.NET框架的开源工程,包含C#语言编译器、CLR运行时和一组类库,能...
Delphi 7跨平台控件开发与应用(清晰版),经典的编程好书。共五个分卷。这是第五个。
用MVP架构开发跨平台的移动应用,林育斌,卞佳丽,跨平台是现在移动开发的一个重要需求。本文使用J2ObjC工具,提出了基于MVP架构的解决方案。先分析了MVP架构的优势,然后介绍了如何在