跨平台开发工具

跨平台开发工具

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

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

1、 PhoneGap (Adobe)

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

唯一支持 IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry 全部智能系统的平台。它是一个完整的跨平台APP开发工具和平台,通过提供SDK来支持其他框架。

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

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

2、 React Native(Facebook)

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

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

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):
1、原生应用的用户体验
2、跨平台特性
3、开发人员单一技术栈
4、上手快,入门容易
5、社区繁荣

3、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平台编写,代码无法实现完全公用。

4、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

 
 

5、Unity 3D(Unity Technologies)

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

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

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

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

 
 

6、微信小程序(腾讯)

所谓小程序,就是运行于微信上的功能性的软件或应用。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.
我们来拆解一下里面的含义:
1、mobile application:Hybrid App就是一个移动应用
2、both browser-supported language and computer language:同时使用网页语言与程序语言编写
3、available through application distribution platforms:通过应用商店进行分发
4、a target device:区分目标平台
5、install to run:用户需要安装使用
原文地址:https://www.cnblogs.com/liyanli-mu640065/p/10239741.html