Flutter开发的优势在哪里

感谢开源中国-高手问答栏目提供平台,原地址:https://www.oschina.net/question/2720166_2302950

本文节选了18个问题的讨论。

回答问题的嘉宾介绍:亢少军  捷智云视频会议系统联合创始人,国内首本Flutter出版书籍作者,著有《Flutter技术入门与实战》。多年从事流媒体技术研发,对于 Android,iOS 等开发技术有比较深入的研究和应用,作为主要程序员开发了多个应用项目,涉及医疗、交通、银行等领域。

CSDN-blog:https://blog.csdn.net/kangshaojun888

Github:https://github.com/kangshaojun

1Q:请问Flutter的优势是什么?另外小白新手如何从入门到精通,学习路线请教一下。

A:优势就是性能好,跨平台。建议先学基础组件,因为flutter里有一个很重要的概念是:一切皆为组件。然后学习基本的页面布局,前后端网络数据请求,路由导航,手势,动画等知识。涉及到需要调用原生的功能,比如打开相机,蓝牙,获取电池电量等还需要学习flutter插件开发知识。

2Q:Flutter有什么非常大优点吗?你最感兴趣的是什么地方?你基于什么理由选择这个框架?和现有的框架有什么优势?除开是新技术外,我们为什么一定要学习它,有什么推荐的理由么?

A:我们是因为Flutter性能高的原因,选择了Flutter。并开源了一个Flutter webrtc项目,因为我们团队是做音视频开发的,所以对性能要求很高。另外还有一个原因是它酷炫的界面,很有动感,符合现代界面设计需要。还有一个最大的原因是可以Flutter跨很多平台,macOS/windows/linux/android/iOS以及嵌入式,这大大减少了开发及维护的工作量。

3Q:跟流行的React-native相比有什么区别?目前在国内流行吗?

A:个人觉得Flutter比RN做得更专业一些,运行流畅,有一种丝滑版的体验。还有开发调试上比RN的工具好用。RN调度过程中总是有一些莫名其妙的的问题。我是从adobe air --->cordova---> rn ---> Flutter一路走过来。

4Q: Flutter最大的诟病是嵌套太多层的问题,有什么方式能够解决这个问题?

A:这个我一开始也觉得嵌套太多,不过合理拆分,写多了自然就不觉得乱了。比如:一个页面先从垂直方向拆分成几块,再从水平方向拆分。另外vscode及androidstudio可以在结束的位置有提示代码范围也方便。可以看我的博客一个一个学习组件:https://blog.csdn.net/kangshaojun888

5Q:现在有哪些比较知名的项目和公司使用了Flutter?

A:闲鱼和爱奇艺就是Flutter开发的 ,好多公司在Flutter没有发布正式版本之前已经上架了很多app了。与原生的app、混合式app、web app相比可以查一下。

6Q:目前打包的包体积有多大?效率比起原生怎么样?

A:打包的体积稍微大一些,helloworld这种大概有30m左右。性能不亚于原生。

7Q:Flutter对iOS支持如何,能不能替代iOS原生开发?

A:可以开发iOS应用,甚至macOS桌面应用。个人认为可以替代。

8Q:你好,我刚接触Flutter不久,之前接触过react所以对Flutter大体设计能有一定的理解,但是对build中的BuildContext感觉把握不准,这个参数在Flutter是一种什么概念,结构又该怎样理解?感谢指教。

A:BuildContext抽象类,它表示一个控件在整个控件树中的位置句柄,每个控件都有自己的BuildContext实例。 某些静态函数(例如Theme.of等)也有BuildContext实例,以便它们可以代表调用控件或专门针对给定上下文获取数据。

9Q:Flutter和目前的react native(基于react)、weex(基于vue)、native script(基于angular)的底层运行有什么区别,是不是也是通过dart封装底层api,方便上层调用。另外,现在js很火,dart和js相比有哪些优缺点,为什么要学习一门新的编程语言和框架,有什么优势?

A:关于对比引用一段话:Flutter吸收了cordova及rn的教训之后,在渲染技术上,选择了自己实现(GDI),由于有更好的可控性,使用了新的语言Dart,避免了RN的那种通过桥接器与Javascript通讯导致效率低下的问题,所以在性能方面比RN更高一筹。个人觉得Dart简单易用,即有脚本语言的易用特性,又有高级语言的强大功能。

10Q:请问 Flutter 与 ReactNative 比较,有哪些优势和差异,在技术入门学习成本和开发组件的丰富方面目前是怎样的状态?谢谢!

A:Flutter组件已经很丰富了,能满足大部分的应用场景,唯一需要做的是,有特定需求需要开发插件,类似rn plugincorodva plugin。技术的学习成本不高,Dart语言很容易上手。建议可以尝试一下。

11Q:有没有Flutter音视频相关的项目案例?

A:可以关注我们团队的flutter webrtc项目:https://github.com/cloudwebrtc/flutter-webrtc

12Q:关于对android和iOS的兼容性问题,有什么需要注意的?

A:基本上写一套界面,在两个平台上展现一致,我遇到过iPhoneX下底部显示被遮挡的问题。

13Q:其实现在的跨平台开发还是Qt c++那套比较实用,性能可以保证,很多游戏前端都是c++跨,UI并不高深。不知道这个Flutter性能和持久性如何?

A:win是dart + c++, macOS是dart + oc,性能自然有保障,性能能达到60fps。QT个人觉得相比较于Flutter开发太慢,组件也麻烦。

14Q:Flutter对自定义组件的开发友好度怎么样?谢谢

A:比较方便,继承StatelessWidget/StatefulWidget然后重写Widget build(BuildContext context)方法,即可自定义组件。

15Q:我看了几个性能的测评贴,包括rn,原生,flutter,但是发现不同的博主给出的结论竟然截然相反,让我非常的诧异,有没有比较官方的性能比较?由于带环境,安装包大小最为诟病,未来有可能精简么?谢谢

A:底层渲染都是基于skia C++ 的2D绘图引擎,调用GPU来完成渲染。性能不可能差的。默认打包出来的尺寸30m左右,个人觉得不算大。

17Q:Flutter的原理和我最初设想的跨平台方案一样,就是用view来绘制控件,这样能最大程度发挥性能,但也意味着要有很长的路要走,请问现在安卓平台和ios平台用Flutter开发的话,需要调用原生的东西多不多?另外除了学习Dart语言外还有什么周边的东西需要学习的吗?

A:调用原生的程序,根据应用求而定,比如需要打开手机摄像头就需要。Flutter学习主要是要熟悉Dart语法,还有各种组件的使用。可以看我的博客https://blog.csdn.net/kangshaojun888/里面有大量组件的使用示例。

18Q:我比较关心Flutter与国内一些第三方的集成,比如微信、微博登录和分享,微信、支付宝支付、以及百度地图或是高德地图。在国内开发应用少不了这些集成,是否有成熟的插件可以使用,如果没有应该如何与这些第三方的Native SDK 做集成?成本如何?谢谢。

A:有一些集成已经有了,比如支付相关。第三方集成的项目正在增长。想做集成需要开发Flutter插件,上手容易,个人认为成本不高。只需要做Dart与native的衔接即可。如何编写插件可以了解一下我的github开源项目 https://github.com/kangshaojun。或者看这篇文章http://flutter100.net/docs/plugin_battery_manager.html

---------------------------------------------

亢少军老师编写的国内首本Flutter相关书籍,《Flutter技术入门与实战》现已上线!从实战角度讲解Flutter,从基础组件到综合案例,从工具使用到插件开发,包含大量精选案例和详细实操步骤,还有配套视频课程可帮助读者快速入门。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容