十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
网站:
铁岭县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
Flutter官网
国内Flutter中文资源网
Flutter中文网
Dart官网
Dart中文网
第三方包官网
国内第三方包官网
必读书籍:
《Dart语言实战:基于Angular框架的Web开发》
《Flutter实战》
前端最火热的话题无法就是flutter,不管是刷哪个论坛,必定有探讨flutter的文章。没用过flutter,但是对于跨平台的技术,我一直都在研究。
为什么是uni-app
之前一直在找解决跨平台的方案,尝试了很多方案,比如滴滴的变色龙,但是最终还是选择了uni-app,这里附上uni-app的官网。为什么会选择它呢,第一,vue语法,学习成本低,上手速度快,只要之前你做过vue的项目,那么就能很快上手,其实是vue和微信小程序的结合体,一半vue,一半微信小程序。第二,长期维护,之前做微信小程序的时候,选择了美团的mpvue,但是后面发现长期不维护了,提了Issues也没人理,随之就放弃了,而uni-app长期在维护,这样看出了开发团队的用心。第三,跨平台的能力,uni-app能够跨多个终端,H5,安卓,Ios,微信小程序,百度小程序,头条小程序,支付宝小程序,真正实现了一套代码,多端运行,而且很好适应了我国的市场。第四,日益丰富的插件市场,uni的插件市场也在日益强大,能够基本上满足我们平时的开发需求。
uni-app的组件有原生调用能力,第三方的vue库在调原生接口时跟 5+runtime 不兼容。就像nativescript 有vue版和angular版,类似于react native , 都是起源于phonegap/cordova
实际开发效果遵义小红椒 做了一款app,打包了安卓,Ios,微信小程序3个平台,产出的效果都还是不错,总体还是比较满意。而且打包过程也很方便简单,配套的HBuilderX自动内置了打包功能,所以也省去了打包的烦恼。
遵义小红椒 建议
如果你现在想做一款跨平台的产品,而且有vue和微信小程序的经验,最重要的,你不想学习一门新语言,那么uni-app也许是你的一个选择。
使用这个版本的GetX写了Demo之后,发现有几个问题:
感觉不太像是稳定版本,存在一些比较明显的问题;而且2.0.6到2.0.7只是一个小版本,全局状态管理逻辑似乎就有比较大的改动。
不支持响应式编程,这个版本的状态管理还是基于state的逻辑;因为想要比较高效的解耦页面和逻辑,可能需要搭配响应式编程框架。
相关功能可能比较少,没有最新版本的功能那么全面。
Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。
Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。Flutter已推出稳定的2.0版本。
产生背景:
Flutter可以方便的加入现有的工程中。在全世界,Flutter 正在被越来越多的开发者和组织使用,并且 Flutter是完全免费、开源的。它也是构建未来的 Google Fuchsia 应用的主要方式。
Flutter组件采用现代响应式框架构建,这是从React中获得的灵感,中心思想是用组件(widget)构建你的UI。
组件描述了在给定其当前配置和状态时他们显示的样子。当组件状态改变,组件会重构它的描述(description),Flutter 会对比之前的描述, 以确定底层渲染树从当前状态转换到下一个状态所需要的最小更改。
Flutter是谷歌公司推出的跨终端的开发框架,支持Android、iOS和WEB终端。1.0版在2018年12月5日发布,目前的最新版本是1.5,它采用的开发语言是Dart,Dart也是谷歌开发的计算机编程语言,语法类似C,是编译型语言:
hello world例子,打印字符串“Hello World!”:
1、没有桥接层
React Native、Weex等技术都是跨终端的框架,然而性能跟原生App存在很大差距。这是由于它们的工作原理决定的:
React Native、Weex等技术多了一个桥接层,所以界面渲染会慢一些,由于UI渲染非常频繁,想要不卡顿,基本上比较难,性能和用户体验跟原生代码有差距。而这恰恰是Flutter的优势所在:
Dart可以被编译成不同平台的本地代码,让Flutter不通过桥接层直接跟平台通信,自然性能会快一些。
2、编译执行
JavaScript是解释执行的,Dart是编译执行的,性能谁好一目了然。
3、Flutter Engine虚拟机
Flutter是依靠Flutter Engine虚拟机在iOS和Android上运行的,Flutter Engine使用C/C++编写,开发人员通过Flutter框架直接和API在内部进行交互,所以具有输入低延迟和UI渲染高帧速率的特点。除了这特点之外,Flutter还提供了自己的小部件,Flutter小部件是使用从React获取灵感的现代框架构建的。 中心思想是您使用小部件构建UI。
窗口小部件根据其当前配置和状态描述了它们的视图。 当窗口小部件的状态发生更改时,窗口小部件会重建其描述,框架将根据前面的描述进行区分,以确定底层呈现树从一个状态转换到下一个状态所需的最小更改。可以直接在OS平台提供的画布上进行描绘,也就是一些核心类库直接放到虚拟机里面,调用起来更快。
从它的系统结构可以看出,类似安卓的ART(Android Run Time)虚拟机,同样采用AOT(Ahead of TIme)技术,会在APP安装时就编译成机器语言,不再解释执行,从而优化了APP运行的性能。
4、自带渲染引擎
Flutter使用谷歌自己的Skia渲染引擎,而Android系统自带Skia引擎,iOS平台上Flutter也会把Skia引擎打包到APP中,从而实现了高效渲染。而React Native通过桥接层访问原生UI,操作频繁就容易出性能问题。
综合所述,Flutter 是性能最接近原生代码 的一种开发框架,未来也会是构建谷歌Fuchsia应用的主要方式,前途不可限量,唯一的问题就是需要学习一门新的语言:Dart,而有Java或者C#语言基础的程序员会比较容易学习。
在玩安卓上有款组件化开源app的项目,一款模仿 Eyepetizer | 开眼视频的 开源app,这款app设计风格特别喜欢的,比较简洁,美观,然后最近又在学flutter的知识,于是就写了一款flutter版本的开源短视频,效果也是听不错的,废话不多说,先上效果图。
先附上项目地址:
项目api会在后面的参考链接里,或者直接项目内查看。
项目地址:
更新:6/30 项目新增下拉刷新,上拉加载功能
kotlin版本开眼短视频开发中,敬请期待...
总结:在此感谢参考的伙伴的文章,写的也很好,然后我将这个项目改写成了flutter,当中也学习到了很多flutter相关的知识,后续还有继续巩固,不断学习。
参考链接(包含本项目的api)
我可以分享一份完整的安装包及安装教程,希望可以帮助到您!
点击下载Google Flutter 1.0最新版
Google Flutter是由美国知名软件公司谷歌推出的一款拥有自主知识产权的移动开发软件,是一个专门为iOS和Android设计的UI工具包。它能够把最原生ARM代码通过接口便携式调用的方式对软件界面和框架进行精准的绘制,并可在软件中对开发的程序进行测试已获得最佳的性能。软件拥有非常美观的设计窗口,针对不同用户的喜好设计了个性皮肤,在进行开发时软件拥有在模拟器或真机上亚秒内加载的速度,并且不会丢失状态,可为每一位用户带来最佳的使用体验,这将是移动开发软件中的一个里程碑。