首先简单了解了flutter的开发背景和特性
flutter是谷歌移动UI框架,支持iOS、Android、Windows/MAC/Linux等多个平台,一份代码多端运行,UI高度一致。
Flutter采用GPU渲染技术,高性能,支持120fps超高性能
原生用户界面:体验更好,性能更好
高效 热重载、快速构建
开源免费 Google支持 透明可靠
使用语法简明的dart语言
安装flutterSDK,安装Android Studio,安装Android证书,配置开发环境,检查环境,电脑不支持as内置虚拟机,我又下载了雷电模拟器作为安卓的虚拟机。 总的来说,第一次配置,用了很长时间,需要下载各种包各种文件,flutter检查环境有很多错误,这里就不细说了,最终还是用VScode连接虚拟机把flutter运行了出来,还是很开心的。
接下来要做的事
熟悉flutter的语法和结构,熟悉虚拟机的使用和flutter的运行 学习开发文档,看到开发文档,大概明确了学习的方向,信心倍增。
flutter对比rn框架和uni-app 区别呢?市面上都有哪些跨平台的框架?
flutter rn uni-app的区别
框架背景
-
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,实用性高。
-
React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架,支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用。
-
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
技术学习上
RN, 要求开发者学习React,要求精通Flex布局,要求原生开发协作。
Flutter,要求开发者学习Dart,了解Dart和Flutter的API、要求精通Flex布局,要求原生开发协作。
uni-app,要求开发者学习Vue,了解小程序。uni-app的学习成本很低,没有附加的技术。
性能与写法对比
flutter作为界面库(注意它只是界面库,dart语言是另一个项目),它唯一要干的事情就是渲染界面。不像HTML5,flutter界面库连视频、定位等都没有,就是一个纯排版引擎,绘制文字、按钮、图片等常用界面控件。
这个排版引擎的特点是简单、高性能。
3大引擎的性能排名:flutter > react native/weex > webview 3大引擎的编码复杂程度排名:flutter > react native/weex > webview
ui库比较
RN和 flutter 在IOS和Android上需要使用2套ui库, uni-app默认也是这种通用ui风格。uni-app的开发者只需要写一套界面ui,就可以适应不同手机的用户,真正的 write once,run anywhere。
(部分内容转载自blog.csdn.net/chao94w?typ…
跨平台的框架
跨平台应用开发框架是开发人员可以使用一套相同的代码,一次性地编码便可在多个端侧平台上运行。
除了flutter,rn,uni-app之外,还有很多很多优秀的支持跨平台的框架,我简单了解了几个,这里粗略介绍下。
node.js
Node.Js是一种流行的跨平台框架,其运行时框架基于Chrome V8 Javascript引擎构建。
- 效率和响应速度快
- 零缓冲和更快的编码输出
- 具有事件循环功能的单线程模型
- 开源免费
icon
ionic是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。
- 基于Angular语法,简单易学,便于维护
- 轻量级框架
- 性能优越,运行速度快
- 专注原生
Corona SDK
Corona SDK创建于2009年,是一款非常适合快速加载应用和游戏的软件开发工具包。与现有的Android框架相比,这个通用的跨平台框架可以将开发速度提高10倍。
- 只支持iOS和Android
- Lua语言不是面向对象的,但学习容易
- 运行稳定
- 支持硬件加速、GPS、指南针及照相机等
- 支持与Map、Facebook、OpenFient、GameCenter的集成
Apache Cordova
Apache Cordova是一个著名的跨平台应用程序开发框架,该框架使用Web技术,包括HTML,CSS和JavaScript。
- 强大的社区支持能力
- 市场上插件广泛,意味着更多的业务范围
- 免费和开源
- 支持本地开发及调试
- 实时重载
这是从0学习flutter的第一天,需要学习和掌握的技术实在太多太多了,道阻且长。
jym有好的学习平台或者建议可以分享给我,万分感谢!