【.com快译】如今,开发混合移动应用程序比以往任何时候都容易得多。开发人员可以编写一次并在所有主要平台上构建移动应用程序,无需额外的努力。一个应用程序的代码不仅可以在Android和iOS平台上运行,还可以在改进的Web应用程序中复用,甚至是桌面应用程序(通过对Electron的一些调整,可以使代码适用于桌面环境)。在这篇文章中,我们将深入介绍十个非常好用的框架,帮助你构建各种功能强大、炫酷的移动混合应用。1.XamarinXamarin成立于2011年5月,是微软在加州旧金山的软件子公司。它使用公共语言基础设施(CLI)和公共语言规范(通常称为Microsoft.NET)实现跨平台应用程序。通过与C#共享代码库,开发人员可以使用Xamarin工具编写各种本机Android、iOS和Windows应用程序。这些应用程序将拥有原生用户界面,并能够跨多个平台共享代码,包括Windows和MacOS。Xamarin是一个优秀的混合移动应用程序开发框架。它可以帮助您节省花在可重用性、工具集、团队和重要代码部分上的时间。可以修改Xamarin和AndroidAPI的数组,设计出适合AndroidSDK和GDK的炫酷体验。2.PhoneGapPhoneGap是移动混合应用程序开发领域中最流行的跨平台框架。从后端的ApacheCordova团队的角度来看,Adobe的PhoneGap框架是Cordova框架的一个开源发行版。借助PhoneGap,您可以快速使用HTML、CSS和JavaScript,通过重用现有的Web开发技能来构建多平台混合应用程序。同时,通过使用单一代码库,您可以轻松地与用户交互,而不管他们的设备是什么。ApacheCordova的核心是利用CSS3和HTML5实现渲染,利用JavaScript实现自身的逻辑关系。HTML5支持访问低级硬件,例如加速度计、相机和GPS。但是,并非所有设备上的所有移动浏览器都始终支持HTML5,尤其是旧版Android上的浏览??器。为了突破这些限制,ApacheCordova在设备原生的WebView上嵌入了HTML5代码,并使用外部函数接口来访问设备原生的内部资源。ApacheCordova还可以通过各种原生的内部插件进行扩展,允许开发者添加更多可以被JavaScript调用的功能,从而实现内部层与HTML5页面之间的直接通信。因此,这些插件允许访问设备的加速器、相机、指南针、文件系统和麦克风。3.IntelXDKIntelXDK允许您为不同的应用程序“商店”创建各种跨平台应用程序。它包括各种Web服务、内容丰富的插件、交互式应用程序以及可以在任何设备上运行并快速响应的应用程序。这个框架其实就是一套支持开发、模拟、测试、调试和发布的工具。最近,他们进行了一些重大更改,以提高您为Android、iOS和Windows10UAP开发各种类似移动设备的HTML5应用程序(包括ApacheCordova)的能力。如今,他们还添加了各种基于Node.JS的机载和物联网软件开发功能。当您使用各种实用程序进行开发时,英特尔XDK还可以在连接的设备上提供实时预览。您可以通过拖放的方式创建各种应用程序,但是这种方法也会生成很多不必要的代码。4.Ionic框架Ionic框架是一个完全开源的SDK,用于开发混合移动应用程序。Ionic建立在Angular.js和ApacheCordova之上。如果您正在使用CSS、HTML5和Sass等Web技术开发混合移动应用程序,它会提供工具和服务。可以通过这些网络技术构建各种应用程序,然后通过原生内部应用程序商店进行分发,最后使用Cordova安装到设备上。Ionic框架是一个100%免费和开源的项目,它持有MIT许可证。庞大的全球社区使其永远免费使用。拥有超过120个原生内置设备功能,包括蓝牙、健康组件(HealthKit)、指纹认证和更多与Cordova/PhoneGap相关的插件,以及各种TypeScript扩展。您可以使用CLI在任何平台上创建、构建、测试和部署您自己的Ionic应用程序。该框架有一个Ionicons图标包,其中包含数百个最常用应用程序的图标。MIT许可证使其开箱即用(OOTB)。由于编译和重新部署应用程序的每一步都是“傻瓜式”,因此您可以通过LiveReload(译者注:一种Web开发辅助工具)来开发自己的应用程序。此外,它还有深度链接、AOT编译等原生且非常好用的功能。5.Framework7Framework7是一个免费开源的移动端HTML框架。它可用于开发混合移动应用程序,或具有iOS和Android原生外观的Web应用程序。当您需要快速制作应用程序原型时,Framework7也是不可或缺的原型应用工具。Framework7的主要功能是让你可以简单直接地使用HTML、CSS和JavaScript来构建各种iOS和Android应用程序。因此,该框架只专注于为iOS和GoogleMaterialDesign带来最佳体验和简化实现。Framework7可以提供的各种实用功能包括:内置滚动条、独立的软件库、页面过渡动画、多视图支持、CSS3硬件加速的动画、XHR的使用、缓存、浏览器历史和预加载。结合实现页面路由等。6.AppceleratorTitaniumTitanium有Xamarin和PhoneGap提供的混合开发环境。由于所有应用程序都是用JavaScript编写的,因此您必须使用自定义XML和Appcelerator的API来支持一些本机内部功能。它是一个全面支持Android和iOS的跨平台框架,可惜不能覆盖CSS和HTML。此外,由于其编译代码结合了原生内部Javascript,因此大大提高了移动混合开发的性能。Titanium是创建混合移动应用程序的完美解决方案。下载Titaniumstudio即可体验。Titanium的SDK配备了适用于多个移动平台的API,并使用云服务作为其应用程序的后端。它带有各种独立于平台的API,因此访问手机的硬件相对容易。Titanium采用Alloy--MVC框架实现移动应用的快速开发。Alloy创建的模块可以很容易地在其他不同的应用程序中重用,从而显着减少开发时间和代码行数。7.MobileAngularUIMobileAngularUI是一个针对Bootstrap和Angular爱好者的混合移动框架。借助MobileAngularUI,您可以使用Bootstrap3和Angular框架来构建HTML5移动应用程序。AngularUI更像是Bootstrap3的扩展,但对Bootstrapjs库或jQuery没有任何依赖(两者都默认依赖Bootstrap3)。您需要做的就是使用AngularJS的各种指令来创建炫酷的移动用户体验。为了实现更流畅的移动体验,框架提供了fastclick.js和overthrow.js。这些需求可以快速做出相应的媒体查询,这些媒体查询被引导程序剥离为单独的文件,因此您只需要包含所需的部分。此外,它还提供了覆盖、开关、侧边栏、滚动区域和绝对定位的导航栏等组件,这些组件在拖动时不会吸附到其他地方。MobileAngularUI持有MIT许可证,因此它是开源的并且可以免费使用。8.OnsenUIOnsenUI虽然比较新,但却是Ionic的有力竞争者。它是Apache许可下的开源框架。OnsenUI有一组独立于框架的UI组件。您可以在Angular、Angular2、React、Vue.js和Meteor等框架中自由选择或切换。当然,你也可以使用纯JavaScript构建各种Hybrid应用程序。OnsenUI具有一组功能强大的组件,您可以开箱即用(OOTB)来构建自己的移动应用程序。通过它的组件,你可以编写各种HTML5和JavaScript应用程序,并通过PhoneGap和Cordova将它们推送到应用程序中。该框架具有灵活易用的语义标记组件,可自由应用于商业项目。9.SenchaTouchSenchaTouch是一个跨平台的企业级产品,可以构建端到端的HTML5和JavaScript类型的移动Web应用程序。在商业世界中,它是最好的移动应用开发平台。Sencha的产品种类虽然丰富,但其产品大多价格不菲。对于个人开发者和自由职业者来说,Ionic、OnsenUI和Framework7会是更好的选择,但是对于企业应用来说,SenchaTouch仍然是最好的选择。SenchaTouch提供的组件比它支持的其他平台具有更高级、更原生的外观和感觉。SenchaTouch平台的核心是最新的JavaScript框架ExtJS,可以构建各种接近原生、高性能的应用程序。SenchaTouch封装集成了iOS、Android、WindowsPhone、Blackberry等主流平台所需的外观工具。Sencha还有一个可视化的应用程序生成器,可以直接拖放到HTML5代码中,并且它包含大量可以直接使用的模板。Sencha的各种自定义组件也可以构建并加载到各种跨应用程序的可重用库中。10.KendoUIKendoUI是Telerik推出的用于构建跨平台移动应用程序的HTML5框架。它在很大程度上依赖于jQuery,因此它包含70多个开箱即用的jQuery小部件。当然,您也可以将其与Angular或BootstapUI框架集成。由于许多开发人员已经熟悉jQuery,因此学习KendoUI应该不难。虽然它是一个免费开源的框架,但在使用过程中仍然存在一些功能限制。你得不到专业的技术支持,一些常见的小工具受到商业许可证的限制。结束语如果你打算构建一个移动应用,那么选择混合模式将节省你的时间和精力,并且你可以在相应的网页版应用中复用它的代码。虽然混合模式并不是所有问题的完美解决方案,但混合应用确实是您更快部署自己的应用和构建应用原型的不错选择。相信以上框架一定能为大家提供一个非常贴近用户体验的原生应用。原标题:10FrameworksforMobileHybridApps,作者:PedroFortuna
