跨平台开发工具

跨平台开发工具html

https://baijiahao.baidu.com/s?id=1612198467122250493&wfr=spider&for=pc前端

有这六大顶级跨平台开发神器

一、 PhoneGap (Adobe)

PhoneGap是一个采用HTML,CSS和JavaScript的技术,建立移动跨平台移动应用程序的快速开发平台。react

惟一支持 IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry 所有智能系统的平台。它是一个完整的跨平台APP开发工具和平台,经过提供SDK来支持其余框架。git

 

国内的WeX5方案也是PhoneGap的一种,彻底Apache开源,在融合Phonegap的基础上,作了深度优化,具有接近Native app的性能,同时开发便捷性也较好。github

在 RN 和 WEEX 方案未出现时, PhoneGap 是最好的跨平台APP开发解决方案。web

 

二、 React Native(Facebook)redux

React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,小程序

目前支持iOS和安卓两大平台。c#

RN使用Javascript语言,相似于HTML的JSX,以及CSS来开发移动应用,所以熟悉Web前端开发的技术人员只需不多的学习就能够进入移动应用开发领域。微信小程序

React Native着力于提升多平台开发的开发效率 —— 仅需学习一次,编写任何平台。

 

国内的不少app好比QQ空间 ,QQ音乐,墨刀,京东,手机百度等,

具体参考:https://facebook.github.io/react-native/showcase.html。

 

RN的优点: 1. 两端并行开发(共享智慧) 2. 热更新(升级) 3.Open standard(React redux cycle...)。4. 社区力量。

 

https://blog.csdn.net/yczz/article/details/50468181

 

结论(React Native):
一、原生应用的用户体验
二、跨平台特性
三、开发人员单一技术栈
四、上手快,入门容易
五、社区繁荣

 

 

 

 

三、WEEX(阿里巴巴)

2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex。

Weex框架可以完美兼顾性能与动态性,让移动开发者经过简捷的前端语法写出Native级别的性能体验,并支持iOS、安卓、YunOS及Web等多端部署。

Weex基于开源的Vue.JS, 相比于 RN来讲 入门简单,容易上手。目前 阿里系的不少产品 好比淘宝,支付宝和一些小公司app都在用WEEX。

虽然Weex和React Native都支持跨平台开发,但实际仍是有必定的区别:

Weex的目标是实现代码共用一次开发多平台运行,能同时支持iOS、Android和Web,下降了开发难度,节约开发成本;

React Native则但愿替换整个APP,因此更加注重平台的独立性,其代码须要针对iOS和Android平台编写,代码没法实现彻底公用。

 

四、Flutter (Google)

Flutter是谷歌的最新移动UI框架。Beta1版本于2018年2月27日在2018 世界移动大会公布,Beta2版本2018年3月6日发布。

开发者可使用 Flutter 在 iOS 和 Android 平台上开发原生应用,

闲鱼、NOW 直播、京东 、美团这些应用也有使用 Flutter。它也是将来的Google新操做系统 Fuchsia 应用的主要开发方式。

 

Flutter的突出优势:

1,热重载(Hot Reload),利用Android Studio直接一个ctrl+s就能够保存并重载,模拟器立马就能够看见效果,就这一点比原生安卓制做简直不知道高到哪里去了。

2,一切皆为Widget的理念,对于Flutter来讲,手机应用里的全部东西都是Widget,经过可组合的空间集合、丰富的动画库以及分层课扩展的架构实现了富有感染力的灵活界面设计。

3,借助可移植的GPU加速的渲染引擎以及高性能本地代码运行时以达到跨平台设备的高质量用户体验。

  简单来讲就是:最终结果就是利用Flutter构建的应用在运行效率上会和原生应用差很少。

 

原文连接:https://www.jianshu.com/p/46f627708d58

Android/iOS跨平台技术比较

对客户端而言,跨平台技术在持续发展。

 

  • 若是对动态更新的需求比较高,能够选择ReactNative Weex等框架。

    优势

    动态更新,生态较为成熟,也有不少大厂经验能够借鉴
    缺点

    学习成本较高,而且有兼容性和性能上的不足,在功能实现
       时可能须要一些妥协。

 

 

  • 若是性能要求较高,能够选择谷歌最近出的Flutter框架

    优势

    性能保证,甚至比原生更好;

    提供了Material Design风格的支持;

    特别适合通常性的,只是在页面上增删改查的业务;

    缺点

    生态还不成熟,若是有复杂的业务或者交互,网上可借鉴的 资源较少;

    版本上线后没法动态更新;

 

 

跨平台方案都有的优势:一个工程师就能开发两个平台的APP,能提升生产效率。
跨平台方案都有的缺点: 在JNI, 视频图片处理等一些领域, 开发会比较有难度, 这块业务仍是用

原生开发比较好.

也能够选择混合开发,即APP中通常性业务用跨平台或者h5, JNI, 视频图片处理等部分用原生.

 

https://www.jianshu.com/p/46f627708d58
2018.05.30 11:32

 

 

 

从根本上说,iOS和Android平台提供具备原生能力和经验的本机APP。

美学,性能和用户体验是原生移动APP的核心,这使得它的采用速度很快,

而且在针对移动友好型网站运行的大量问题上得到了巨大的普及度。

 

http://www.kingwins.com.cn/content-3246.html
2018-04-20

 

 
 

五、Unity 3D(Unity Technologies)

Unity 3D是一款游戏开发平台,如今也支持 2D 开发,因此一些公司用 unity来作 应用开发,好比那些动画比较多的界面,用unity很快就能搞定。

引擎自己是由C++写出的,c#写的 Mono模块被嵌入到了Unity当中。

Unity经过Mono使用了一种叫CIL 通用中间语言来实现跨平台开发。同时支持 Android,IOS,Windows和Linux等系统,还支持一些掌上游戏机。

其余的一些2D游戏引擎好比Cocos2dX,也是不错的跨平台开发方式!

 
 

 

六、微信小程序(腾讯)

所谓小程序,就是运行于微信上的功能性的软件或应用。2016年9月21日,微信小程序正式开启内测。2017年1月9日0点,万众瞩目的微信第一批小程序正式低调上线。从技术上来讲,微信小程序应用使用HTML5技术。

目前 微信小程序开发 在国内也是很是的火爆,许多公司都有这方面的需求。

 

2019年2月26日11:19:03  记录笔记

https://baike.baidu.com/item/hybrid%20app/270520?fr=aladdin

 

Hybrid App是指介于web-app、native-app这二者之间的 app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,好比街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。再完全一点的,如掌上百度和淘宝客户端Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是本身的浏览内核,因此体验上更像客户端,更高效。
汽车有混合动力Hybrid, 移动应用一样也有混合模式。Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优点”和“Web App跨平台开发的优点”。不少人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,好比百度搜索等。但究竟什么是Hybrid App?如何定义?
Hybrid App:Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store, Google Play etc. Usually, they are downloaded from the platform to a target device, such as iPhone, Android phone or Windows Phone. The subscribers need to install to run them.
咱们来拆解一下里面的含义:
一、mobile application:Hybrid App就是一个移动应用
二、both browser-supported language and computer language:同时使用网页语言与程序语言编写
三、available through application distribution platforms:经过应用商店进行分发
四、a target device:区分目标平台
五、install to run:用户须要安装使用