团队搞flutter,原生开发,作为前端,是利还是弊

html5学习资料视频分享,零基础怎么学html5

大家好,今天来为大家分享团队搞flutter,原生开发,作为前端,是利还是弊的一些知识点,和不建议flutter的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

本文目录

  1. flutter对比react native的优劣势在哪
  2. flutter目前实际应用的多吗有多少公司在用flutter
  3. 团队搞flutter,原生开发,作为前端,是利还是弊
  4. 为什么阿里巴巴、腾讯和Google之类的企业都在使用Flutter开发App

flutter对比react native的优劣势在哪

如果你还在犹豫是使用flutter还是用rn的话,强烈建议你选择flutter。

就框架产品现阶段的完成度来说,flutter的完成度要比rn的完成度来说要好太多了,不管是用vscode开发,还是用as开发都非常方便,支持工具也非常完善,特别是devtools非常容易的查看和调整界面布局。

学习上官方文档也非常完善,如果你可以上youtube的话,可以看到他们官方有好多简短有趣的学习视频,很容易就可以入门。另外dart语言和js相比,有更好的强类型支持可以更好的避免你开发的程序在运行时出现低级错误,从而开发出更加健壮稳定的程序,dart还可以直接编译成机器指令,相对js的运行时编译会有更快的速度。

再一个是开发效率,skia的渲染引擎支持,flutter只需要编写一次代码就可以在ios和安卓上获得一致的运行效果,而rn却需要为ios和安卓的一些差异编写不同的代码,写出来的程序也很难得到一致的体验,而这些在flutter中完全不是问题,当你写完一个界面的那一刻,你会感觉,真是太爽了

我写了一个flutter的影音界面测试demo

https://github.com/sosopop/cicitv

还有就是flutter的youtube官方教学视频

https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw

flutter目前实际应用的多吗有多少公司在用flutter

Hello,很高兴回答这个问题。

先为不太了解Flutter的同学科普一下,简单来说,Flutter是Google一个新的用于构建跨平台的手机App的SDK(SoftwareDevelopmentKit,软件开发工具包)。也就是说,写一份代码,在Android和iOS平台上都可以运行。

接着我们来依次回答一下问题。

Flutter目前实际应用的多吗?

其实flutter已经有很多应用上线了,国外可能比国内更多一点。国内我们最开始熟知的应该是闲鱼,但是现在也慢慢开始有更多的App加入进来。我们来看一下都有哪些方向的应用。

社交网络,例如:KlasterMe(用于内容发现和创建的应用程序),Pairing(连接单身人士的应用),Meeve(用于连接离线的人的应用),n8(用于查找事件的应用)图像和视频,例如:PostMuse(Instagram的故事和图像编辑的应用)健康健美,例如:Reflectly(自我照顾和幸福日记),Watermaniac(跟踪饮用水的应用程序)购物,例如:闲鱼(移动商务应用),HuYu(用于付费调查和奖励的应用)音乐,例如:Topline(音乐录制应用程序),MusicTutor(学习阅读音乐的应用)娱乐,例如:Hamilton(汉密尔顿音乐爱好者的应用程序),InKino(用于查询Finnkino剧院电影上映时间的应用)体育,例如:TopGoals(足球球迷的应用程序),EntrenaPro(寻找教练和体育中心的应用程序)金融,例如:CryptomaniacPro(加密货币交易价格的应用程序)教育,例如:Schoolplanner(学生和老师的应用程序)地图和导航,例如:StationLaMoinsChère(燃料价格应用程序)生活,例如:PawfectMatch(动物领养的应用)旅游,例如:Flydirekt(待机:旅客的应用程序)商业,例如:GoogleAds(广告经理应用程序),AppTree(企业应用客户端)有多少公司在用Flutter?

如果我们看一下官网给出的用户案例,已经可以发现许多大公司的身影,包括谷歌、阿里巴巴、腾讯、宝马等等。

在调研的同时,我惊奇的发现:原来头条也有使用Flutter开发!

Flutter目前的市场占有率大概是多少?

其实提到Flutter,大家都会将它与另一个产品进行对比:Reactnative。ReactNative(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,也支持iOS和安卓两大平台。

我们来看一个简单的对比:

网上对于二者的争论很多,也有很多关于两者优缺点的比较等等。RN推出的时间较早,在市场占有率上必然占一些优势,但是也许随着时间推进,Flutter会后来者居上,得到更多的市场份额。

根据笔者的调研,找到了一份2019年全球开发人员使用最多的工具的数据统计:

数据来源:StackOverflow;Amazon

所以,如果说市场占有率,ReactNative肯定相对较高,但是Flutter现在的发展速度非常快,能不能持续火下去,我们可以拭目以待。

以上是我的回答~希望对你有帮助~

团队搞flutter,原生开发,作为前端,是利还是弊

没有完美的解决方案,只有最合适的,考虑团队的人员配置,经济能力等等方便,再来考虑技术栈!

想快,快去交互就用vue或者其他的跨平台方案,这种基本用于小公司或者孵化公司!

如果团队资金雄厚,完全可以考虑oc或者安卓原生开发,周期相对而言更久!

flutter比较适中

为什么阿里巴巴、腾讯和Google之类的企业都在使用Flutter开发App

说到Flutter,绝对绕不开Fuchsia,这个是谷歌开发的一款全新的操作系统,GitHub地址以及Googlesource主页。Fuchsia内核是MagentaKernel,一个基于LittleKernel的项目。该系统与Android相比,无论是存储器还是内存之类的硬件要求都大幅降低,外界推论是一款面向物联网的系统。笔者倒是没有查到谷歌开发这款操作系统的目的,如果有知晓的,也烦请告知。

就像很多博客主说的那样,如果只是取代Android,那无疑是一种很不好的做法。任何技术的推动,都得靠背后的商业驱动,尤其是这种涉及到手机厂商利益的技术。

Flutter

Flutter是Fuchsia的开发框架,是一套移动UI框架,可以快速在iOS、Android以及Fuchsia上构建高质量的原生用户界面。目前Flutter是完全免费、开源的,GitHub地址。其官方编程语言为Dart,也是一门全新的语言。所以说,上手成本比较高,对于移动端开发人员,语言以及框架都是全新的,整个技术栈的积累也都得从头开始。

可以看下其官方介绍的特性:

快速开发:Flutter的热重载可以快速地进行测试、构建UI、添加功能并更快地修复错误。

富有表现力,漂亮的用户界面:自带的MaterialDesign和Cupertino(iOS风格)widget、丰富的motionAPI、平滑而自然的滑动效果。

响应式框架:使用Flutter的现代、响应式框架,和一系列基础widget,轻松构建您的用户界面。

访问本地功能和SDK:Flutter可以复用现有的Java、Swift或ObjC代码,访问iOS和Android上的原生系统功能和系统SDK。

统一的应用开发体验:Flutter拥有丰富的工具和库,可以帮助开发者轻松地同时在iOS和Android系统中实现想法和创意。

原生性能:Flutter包含了许多核心的widget,如滚动、导航、图标和字体等,这些都可以在iOS和Android上达到原生应用一样的性能。

其实从官方特性来看,唯一有点吸引力的就是统一的应用开发体验。一套代码运行在多个平台,做到真正的跨平台。像热加载,目前Android开发本身就支持了,响应式框架以及访问本地功能和SDK,对于Native来说,本身并没有多大的吸引。至于漂亮的用户界面,国内的商业项目,哪一个会去按照MaterialDesign去设计。

跨平台本身,往往意味着性能受损,通用性解决不了的问题,又得回到Native去实现。所以这些因素也是跨平台从移动端诞生之初就开始提,到现在也没有被很好解决的一个原因。至于谷歌能够做到什么程度,或者说开发者该保持什么期许,我觉得都不好说,或许谷歌解决了一个多年的难题,或者又像被谷歌放弃掉的其他项目一样。抛开商业层面,对于技术人员,我们更多的是应该去关注它的思想,谷歌是如何去解决这些实际存在很久的问题的,至于技术本身的发展,这个是个人开发者无法去左右的,技术的更迭,保持一种学习的状态,然后努力锻炼身体,就能够保证不被淘汰掉。

Dart

Dart是谷歌开发的计算机编程语言,于2011年10月份发布,可以被用于web、服务器、移动端和物联网等领域的开发。Flutter采用Dart,原因很多,抛开商业层面的Java版权问题,单纯从技术层面:

Dart是AOT(AheadOfTime)编译的,编译成快速、可预测的本地代码,使Flutter几乎都可以使用Dart编写;

Dart也可以JIT(JustInTime)编译,开发周期快;

Dart可以更轻松地创建以60fps运行的流畅动画和转场;

Dart使Flutter不需要单独的声明式布局语言;

Dart容易学习,具有静态和动态语言用户都熟悉的特性。

Dart最初设计是为了取代JavaScript成为web开发的首选语言,最后的结果可想而知,到Dart2的发布,专注于改善构建客户端应用程序的体验,可以看出定位的转变。用过Java、Kotlin的人,可以很快的上手Dart。

一门语言的成败,抛开背后的商业推动,我想很重要的一点在于其生态,生态的好坏,主要包括开发者以及第三方库的数目,目前看,Dart的生态还是比较差。对于个人开发者,可以根据心情来选择,但是对于商业应用,有更复杂的考量标准。Dart背后有谷歌的推动,能发展到什么程度,还得看其商业运作能力了。

配置

此部分针对Mac平台,Windows平台的安装配置,Linux平台的安装配置。由于笔者主要做移动端开发,如果想使用Flutter进行iOS和Android全平台的开发,环境也建议是Mac平台,毕竟iOS只能在Mac下进行模拟调试。

安装Flutter

gitclone-bbetahttps://github.com/flutter/flutter.gitexportPUB_HOSTED_URL=https://pub.flutter-io.cn//国内用户需要设置exportFLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn//国内用户需要设置exportPATH=`pwd`/flutter/bin:$PATH

iOS设置

brewupdatebrewinstall--HEADlibimobiledevicebrewinstallideviceinstallerios-deploycocoapodspodsetup

Android设置

下载AndroidStudio,安装Flutter插件,会将Dart插件也一起安装。

体验Flutter

IDE建议选择AndroidStudio,安装了Flutter插件后,Flutter的开发跟Android开发类似,附带三种模版工程、断点调试等。

在AndroidStudio里面新建一个FlutterApplication的项目,选择模拟器或者直接连接真机运行,就可以看到一个简单的Flutter应用了,可以在Android和iOS不同平台下看看差异。

Flutter架构

Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。

Flutter不同平台表现

Flutter对于移动开发人员,最诱惑的能力是其完全的跨平台特性,不同于RN这种一处学到处写,它是一处写到出跑,但是他跟其他的跨平台有何区别呢?

跨平台解决方案

市面上的跨平台解决方案,可以大致归结为两类:

使用平台支持的web技术:这些解决方案基本上加载了应用程序中的移动浏览器,并在该浏览器中执行所有的逻辑,例如PhoneGap。

本地跨平台:程序员编写的代码自动转换为Native代码,这种方式的优点是近乎原生的性能,例如RN、Weex、Xamarin等。

这些方案是否真正的解决了跨平台问题呢?从目前的状况来看,很显然是没有的,因为它们都始终逃不开性能、包大小、流畅性、内存、平台特性等问题。

2017年8月跨平台性能测试

团队搞flutter,原生开发,作为前端,是利还是弊和不建议flutter的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

学习前端开发的5个优势,第4个最让人心动

声明:本文内容来自互联网不代表本站观点,转载请注明出处:https://bk.77788889.com/12/127038.html

相关推荐