跨平台app开发框架影响(跨平台应用框架)
本篇文章给大家谈谈跨平台app开发框架影响,以及跨平台应用框架对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、跨平台的html5移动app开发框架有哪些
- 2、如何选择AppCan与PhoneGap跨平台开发框架
- 3、为什么会有App跨平台框架
- 4、app跨平台开发会淘汰原生开发吗?为什么?如果不会,那何时使用跨平台开发?何时使用原生开发?
跨平台的html5移动app开发框架有哪些
jquery mobile和bootstrap都是较好的框架
jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。
Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。 国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。
如何选择AppCan与PhoneGap跨平台开发框架
不同的开发体验
从开发体验上讲,我认为AppCan和PhoneGap从设计时的目标用户群体是不同的。我不是PhoneGap的设计者,只能从其开发模式进行推测。我感觉PhoneGap的目标用户群是希望能够通过跨平台开发方式降低开发成本原生开发者。在项目开发中,PhoneGap是以原生开发人员为主,开发人员安装原生开发环境,配置工程,引入HTML、CSS、JS文件,编译生成应用。
AppCan的开发团队来自于原来的手机设计团队,设计思想来源于2005~2008年间非智能终端MMI(人机界面)开发方案。那个时代的手机设计团队承接众多厂商的定制终端需求,每家公司的手机终端当时还没有现在这样有相对统一的平台,相对统一的MMI体系。各家公司对UI的需求都会有很大不同。这就造成了定制终端开发成本的大头在MMI的实现。当时团队采用了自有浏览器引擎实现MMI开发框架,极大地降低了开发成本。
2010年初,AppCan刚刚火起来的时候就认为在智能终端开发领域,标准的HTML技术依然是最合适的跨平台开发方案。当时定位AppCan技术方案时,目标就是使无原生开发经验的HTML开发人员完成移动应用的开发。随着多个版本的推出,目前AppCan已经实现了以网页开发人员为主,原生开发人员为辅的混合开发模式。
通过减少原生开发人员在应用逻辑、数据对接等方面的工作,使其只关注于某个功能控件的开发,降低项目原生人员开发工作比率,减少项目开发成本。由于网页开发界面间耦合性小,更利于团队开发,并且开发人员不需要专用的苹果开发机和安装Andorid开发平台,有效地减低了开发成本。AppCan为了更好的组织网页开发人员、原生开发人员、项目管理人员、UI人员,为网页开发人员提供了专用的IDE开发环境、模拟器调试环境和本地打包环境,可以在无原生人员参与下完成应用的大部分功能调试和开发。
为原生开发人员提供了插件开发SDK,专为开发原生功能控件,并可直接编译网页开发人员的工程代码,生成目标版本,它等同于PhoneGap的开发环境。为项目管理人员、UI人员、网页原生开发人员提供了云端代码管理、项目管理、应用资源管理、插件管理、引擎管理服务,用于快速发布正式版本。目前AppCan.cn网站是为个人开发者提供的免费代码、项目管理平台。为企业开发用户有专用的企业云SDK开发环境。
不同的前端框架
从HTML,CSS,JS技术组成的前端框架上来讲,PhoneGap与AppCan也有很大区别。由于PhoneGap更多的是一种All In One Page的设计方案,因此开发者需要将应用功能整合在一个网页内部或通过异步加载方式加载到页面的方式实现用户操作流。在这种方式下不例外的都需要一个庞大的JS框架来帮助管理页面内内容的变化。例如JQuery Mobile、Sencha Touch方案。
AppCan则是参考原生开发模式,认为页面间是独立的,每个页面需要完成其主要功能,通过引擎的页面管理,把这些独立的页面串联起来就是一个应用。每个页面有其自身的生存期和上下文。这样可以组织更多的开发人员到一个项目中,且可以很少关心界面间的耦合性。
也就是说PhoneGap常使用JS框架进行窗口管理,AppCan采用引擎中的窗口管理器管理窗口。由于窗口管理机制的不同,AppCan可以在窗口切换、窗口间数据交互中更多的引入原生开发,来提高应用的感受性。AppCan的窗口管理器和窗口生存逻辑参考了Android的Activity,在很多地方可以找到其相似性。与UI开发框架有直接关系的还有分辨率适配方案。
不同分辨率的移动终端,浏览器为了展示网页时的适配,默认都会设定窗口缩放比率。假设480分辨率宽度的终端,网页中看到的依然是320宽度,缩放比率为1.5。这样网页适配320宽度的分辨率就可在大部分移动终端中正常显示。这虽然减小了适配问题,但是造成的后果却是,宽度为1的线在屏幕上显示时,实际并不是一个点,由此移动项目中无法充分发挥手机屏幕硬件的能力,应用界面无法和原生应用媲美。但如果调整了默认比率参数,使其直接采用屏幕硬件分辨率或者更小的缩放比率,都会造成不同分辨率下的界面适配问题。
AppCan 提供了整套的UI开发框架,应用引擎自动调整浏览器默认缩放比率,使其接近或等于屏幕硬件分辨率,采用弹性盒子框架,自动适配各种屏幕分辨率。采用相对大小方案,使应用在不同分辨率、不同屏幕精度,依然使界面保持最符合人体感受的大小和操作体验。通过这种方式,可以帮助开发者更有效的融合原生控件和网页界面,使其保持完美的布局。在适配新分辨率终端时,AppCan可以保证最小的网页代码修改。转载,仅供参考。
为什么会有App跨平台框架
由于大部份的开发者都有开发过网站的经验,因此有不少跨平台开发解决方案都使用了HTML, Javascript和CSS作为开发的基础。
Mobile Web App框架
各种方案当中,开发Web App是支援平台最多的一种做法。因为现代的行动平台一定都配备了浏览器,以Web的形式来开发App是最直接且入门门槛相对较低的做法。但是因为浏览器的诸多限制,有很多装置上的功能(如:拍照、存取通讯录或相簿)并无法使用,与系统间也没有资料交换(如:通讯录、行事历)的机制。再加上无法上架到App Store或Google Play等销售平台上贩卖,这大大限制了其应用范围。不过如果只是单纯的信息传递,不需要太多与手机的整合性功能,开发行动装置专用的Mobile Web App,或是同时适用各种装置的Responsive Web App将能够横跨最多的平台。只是要做到流畅的使用者经验,开发者对于HTML5、CSS3的技术掌握必须在一定的层次之上,才能对于各种浏览器环境有一定的掌握。目前针对Mobile Web的框架有Sencha Touch、jQuery Mobile、Meteor、Mobello等。Responsive Web相关框架则有Bootstrap、Foundation、Skeleton、Amazium等。
Hybrid App框架
另一种解决方案为以PhoneGap为首的Hybrid App,它提供一个框架,让开发者能够将网页直接打包成App,上架贩售。若要使用装置的功能,这类框架也提供能Javascript API,让App可以存取手机的功能(如:拍照)。Hybrid App直接使用网页来制作使用者界面,这是它的优点、但同时也是缺点。因为这代表开发者无法直接使用平台原生的使用者界面,也就是说看起来不像该平台的App,要花时间调整到和原生界面相同的视觉效果和流程度,有相当大的门槛要跨过。通常会藉由使用Mobile Web App的框架来降低开发难度。但由于显示的部分还得经过浏览器引擎,也有跨浏览器的兼容问题要处理,在整体的功能与流畅度方面,尚难以和Native App相提并论。不过如果只是单纯的信息呈现,对流畅度和功能的要求较低,Hybrid App还是其生存空间,尤其PhoneGap已经被整合到视觉设计师熟悉的Dreamweaver内。
跨平台Native App框架
这边提到的Native App,讲的用是非原厂的开发平台开发Native App的这类型框架。此类框架让开发者使用他们过去已经熟悉的程序语言如Javascript、C#、Lua开发App,发布时再把程序转换为Native App。因此在流畅度上,比较容易可以和Native App做到差不多的水平。在功能性和与行动平台功能的整合性,也较Hybrid App为佳。这类框架通常都有其特别的适用范围,如Titanium可以使用原生的UI元件,适合一般的应用开发。Corona则是2D的游戏引擎,Unity则是3D游戏的首选开发框架。和原厂的开发平台相比,这些框架常有的弱点就是档案通常比较大、对于个平台的新功能支援也会慢于原厂平台。不过这换来的是较低的学习门槛和跨平台开发节省的时间。
技术抉择
以上介绍的几个类型的框架并没有绝对的好或坏,而是应该看应用类型与公司的资源和策略而定。
如果团队的技术实力和资源足够,能够用原厂的开发平台来开发,非常恭喜你,这将是能够完全发挥软硬件效能的选择。如果横跨最多平台是重点,且无需上架贩售,那么Mobile Web会是最好的选择。如果只需要基本的装置功能,且可以掌握Mobile Web开发技术,那么Hybrid App可以考虑看看。如果你想开发与原厂开发工具相近的使用者经验,而且不会用到平台最新技术,你最适合的选项将会是跨平台Native App框架。
app跨平台开发会淘汰原生开发吗?为什么?如果不会,那何时使用跨平台开发?何时使用原生开发?
在本文中我们将为您展示在开发iOS平台(iPhone、iPad和iPod)应用前,您可能想问的10个问题。
1. 我们目标应该是哪个平台?
只有iOS (iPhone and iPad) 以及Android有足够的下载量、购买量以及使用量。其他平台也都有应用程序,但用户大部份都太少,或者应用程序的下载量都不足以支撑。也许未来可能会改变,但是以今日来说,这是不争的事实。
也许有人会争辩WP、Bada都可撑起一片江山,但在没有真切的放大量出来,不会建议一下子就冒进。
2. 我们需要针对不同平台来开发不同的应用程序,或者是说有跨平台一次解决的框架?
是的,你需要针对不同的平台开发不同的原生性应用程序。在市面上的确有许多的跨平台解决方案,但没有一个是够强大的,这些方案里包含了Sencha、SproutCore、Titanium。
长期来说,HTML 5将会拥有最强的产业支持并提供很棒的框架给应用程序开发。但这在接下来的18个月并不会发生。请记得一件最重要的事,一个iPhone应用程序必须看起来并使用起来像是一个iPhone应用程序;而Android应用程序必需像是一个Android应用程序;如果想要跨平台,先确保你要先知道原生应用程序的样子,才不会牺牲掉使用者经验。
我也认为HTML5终将会引领潮流,但整体应用与接受并不是迫在眉睫。是不是利用HTML 5跨平台或者使用原生应用程序,都不是重点,重点是在于使用者经验。
过去一年的经验里,不管是Foursquare、Viber、Instagram都已经作出最好的证明,他们都是以单一平台成功立基,强调单一平台「使用者经验」成功;如果只想一次搞定多平台,但却忽略在各平台里使用经验的差异,就已经是失败的开始。
3. 每增加另一个平台,我们所需要多花费的开发时间会多上多久?
这需视你开发的应用程序类型是哪种,但一般来说,大概是30~50%的时间。
4. 有可能在内部布署应用程序,而不用透过公开的应用程序商店吗?
是的,每个平台都有不同的解决方案,而且相当常见。
以笔者较为熟悉的iOS来说,一般做法可以使用 iOS Developer Enterprise Program,而当然,Adhoc Distribution也是另一种解法。
5. 我们可以再利用在网站已经完成的系统介接吗?
是的,应用程序应该尽可能利用现成的系统,通常在JSON的架构上,是不用再迭床架屋的。
6. iPhone 以及 Android 的学习曲线对比上,Objective C 会比 Java难学?
这跟语言无关,这跟你锁定SDK有关(Cocoa Touch 或 Android SDK),学习曲线差不多。
7. 可以透过应用程序卖东西吗?金流怎么走?
可以的,以iPhone来说,Apple不会让询问使用者的信用卡号,如果你选择使用苹果的账号,苹果会取走30%的手续费,大部份的在线零售业者会选择让使用者先建立一个使用者账号,然后让他们透过应用程序登入,这个账号可以用来开收据/登入信用卡账号。这限制不存在Android应用程序上。
8. 为什么不是一个网站,然后可以做一个适应手机浏览器的版本?
应用程序为主的手机用户,偏好透过使用应用程序的功能来消费内容,IDG的数据支持此一观点,并显示应用程序驱动8倍于手机网站的流量。
就如同知名的LBS服务GoWalla CEO指出,使用者「压倒性」使用的就是原生性应用程序。在「强大」的html 5普及前(这包含了开发人力的普及以及所有网络服务的转向),手机浏览器版本只能说是一个暂时解药,比没有好一些的方式。
9. App专案通常怎么运作?
就像所有的软件开发项目:目的/用途、愿景、草图、可视化、设计、开发,测试以及上线。我们喜欢类似Scrum的开发方式,应用程序项目特别专注在用户经验以及接口上的设计。
10. 通常一般的公司都从哪一类型的应用程序开始着手?
一般都从他们网站上的既有功能开始着手,并开始加上应用程序属性的功能(像是GPS定位以及摄影)
跨平台app开发框架影响的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于跨平台应用框架、跨平台app开发框架影响的信息别忘了在本站进行查找喔。