新西兰天维网社区
标题: 程序员Flutter群,学习交流工作机会! [打印本页]
作者: xiaoxlj 时间: 2020-6-8 20:24:53 标题: 程序员Flutter群,学习交流工作机会!
本帖最后由 xiaoxlj 于 2020-7-20 01:14 编辑
欢迎有兴趣交流学习Flutter的程序猿们入群!还有Flutter工作机会哦!
仅限IT技术以及相关设计行业专业人士,只讨论技术和工作话题,不能发广告,非诚勿扰,谢谢!
[attach]2357341[/attach]
Flutter 四大特点:
作者: xiaoxlj 时间: 2020-6-8 20:59:20
转自知乎xiangzhihong的专栏
写文章前⼏天有个做前端的同学问我,“现在 Flutter ⾮常⽕,要不要跟进学习?”对于这类问题,我的回复是,要判断这个框架是否值得学习,我们需要先弄清楚这个框架的来⻰去脉、框架原理以及同类竞品等信息,通过横向和纵向的比较来判断是否需要跟进。
总的来说,Flutter作为⾕歌推出的⼀个跨平台移动应⽤开发框架,可以帮助开发者快速在 iOS 、 Android上构建⾼质量的原⽣⽤户界⾯,并且还可以用它开发Web前端应用和桌面应用。Flutter 技术的出现本身就切中了⼤前端开发者的痛点,再加上Flutter革命性的使用Skia作为渲染引擎,大大的还原了原生开发的体验。可以说,虽然目前是多种跨平台开发技术并存的局面,但是Flutter代表了跨平台技术的未来,所以是值得跟进的。
Flutter框架简析
Flutter 是⾕歌推出的⼀个跨平台移动应⽤开发框架,可以帮助开发者快速在移动 iOS 、Android 上构建⾼质量的原⽣⽤户界⾯,同时还支持开发Web和桌面应用。自2018 年 12 ⽉ Flutter 1.0 版本发布以来,Flutter已经发布了多个版本。截⾄⽬前, Flutter 在 GitHub 上已经获得了 93.1K 的 Star 和 12.6K的 Fork ,发展速度相当惊⼈。目前,Flutter的热度和关注度已经⽼牌跨平台框架 React Native,React Native ⽬前在 GitHub 上有 87.5K Star 和 19.4K Fork。
那 Flutter 作为⼀个新兴框架为什么会这么⽕呢?之所以受到广大开发者的喜爱,是背后源于移动开发者们对于“⼀套代码,多端运⾏”的孜孜追求。
众所周知,移动系统与终端设备的碎⽚化,让开发⼈员不得不同时开发和维护多套代码,开发效率和维护成本大打折扣。移动互联网的快速发展,也让开发工作发展成如何更高效、更低成本地开发。众所周知,传统的原生开发技术虽然技术成熟,但由于开发效率和成本的限制,已经越来越无法满足移动互联网应用的快速迭代的需求,此时移动跨平台技术成为移动互联网行业发展的迫切需求。
目前,主流的移动跨平台技术主要分为三类,一类是使用原生内置浏览器加载HTML5的Hybrid技术方案,采用此种方案的主要有Cordova、Ionic和微信小程序;另一类是使用JavaScript语言进行开发,然后使用原生组件进行渲染,采用此方案的主要有React Native、Weex和快应用;最后一类是使用自带的渲染引擎和自带的原生组件来实现跨平台,采用此种方案的主要是Flutter。
事实上,不管是Hybrid技术方案,还是JavaScript泛原生渲染方案,距离成熟的跨平台技术都存在⼀定的缺陷,⽐如⼩程序WebView)渲染耗时过⻓,⽩屏率会影响转化收益,能实现的功能⾮常受限;再⽐如 React Native 的性能不⾜、问题排除难、维护成本⾼等问题也制约着它的继续发展。
那Flutter作为谷歌推出的跨平台技术框架,又有哪些优势呢?其实,Flutter 在早期并不为大家所熟知,真正爆发是1.0正式版的发布,通过这个版本,开发者可以轻松的构建“UI 漂亮、像素级可控、性能流畅、可媲美原⽣性能”的应用,并且⾃渲染引擎甚⾄具备开发游戏的能⼒。
Flutter 的早期开发者 Eric Seidel 曾经在⼀个访谈中分享过当初为什么开发 Flutter,以及Flutter 的⼀些设计原则和⽅向。Eric Seidel 和 Flutter 早期的⼏位开发⼈员都是来⾃ Chrome 团队,他们在排版和渲染⽅⾯具有⾮常丰富的经验。但⼀直以来,他们都为浏览器的性能⽽感到沮丧,他们希望 Web中的⼀部分能够拥有更加平滑的体验。
为此他们花了⼏周时间做了⼀个实验,在不考虑 Web 的兼容问题后,他们删除了⼤量为了兼容访问的代码和⼀些 Web 开发者不常⽤的功能,然后他们做了⼀个基准测试,得出结论是某些关键性指标的速度居然快了 20 倍。在此基础上,团队投 ⼊了⼤量研究和开发,这便是现在的 Flutter 。
不管是设计之初,还是现在的高速迭代,Flutter ⼀直秉承着两个最重要的设计原则,即性能至上和效率至上。
性能⾄上:内置布局和渲染引擎,使⽤ Skia 通过 GPU 做光栅化。选择 Dart 语⾔作为开发语⾔,在发布正式版本时使⽤ AOT 编译,不再需要通过解析器解释执⾏或者 JIT。并且⽀持 Tree Shaking ⽆⽤代码删除,减少发布包的体积。
效率至上:在开发阶段⽀持代码的 Hot Reload,实现秒级编译更新。重视开发⼯具链,从开发、调试、测试、性能分析都有完善的⼯具。内置 Runtime 实现真正的跨平台,⼀套代码可以同时⽣成 Android/iOS 应⽤,降低开发成本。
正是因为这些⾰命性的优点,Flutter 从一开始就获得了众多开发者和公司的⻘睐,国内就有阿⾥、腾讯、字节跳动、美团等知名⼤⼚早早的使用 Flutter 构建移动⼯程化开发的体系。像阿⾥,最开始只是在闲⻥试⽔,到现在淘宝特价版、盒⻢、优酷、⻜猪等诸多业务都开始尝试使⽤ Flutter了,也都取得了不错的效果。而现今发展迅猛的字节跳动,在引⼊ Flutter 之后,在公司的业务也创造了不少价值。主要体现在这⼏个⽅⾯: - 其⼀,Flutter 多端⼀致性上表现良好,能做到所⻅即所得,⽆需针对某⼀平台做额外适配⼯作; - 其⼆,热重载技术使得设计团队和⼯程团队可以⾮常快速地修改和调试 UI,设计师只需要关注⼀个平台实现,UI 验收效率明显提⾼,跨端开发可以提⾼⼯程师的⼈效(有团队初步估算⼈效⼤致提升了 1.8 倍); - 其三,性能流畅度提升,相较于 H5 版本⾸屏时间有较⼤提升,最后,产品商业化数据都有明显的收益,能直观地看到 Flutter 给公司带来的创收。
Flutter 框架开发现状
此前,Flutter发布了春季更新, Flutter 项目的产品经理蒂姆·斯内斯(Tim Sneath)描述了Flutter的开发现状,并给出了下一阶段的发展计划。
Flutter开发现状和数据
Flutter 的使用率仍在快速增长当中。自它初次发布以来已经过了 16 个月时间,有超过 200 万开发人员用过了 Flutter。虽然行业在 2020 年遇到了前所未有的局面,但在 3 月份 Flutter 依旧获得了 10% 的环比增长,并且每月活跃的开发人员数量有将近 50 万。
这里有一组有趣的统计数据分享给大家: - 60%的 Flutter 开发人员使用 Windows 开发,27%的开发人员使用 macOS,13%的人员使用 Linux。 - 有 35%的开发人员为初创公司工作,26%的开发者为企业开发人员,19%则是个体经营者,还有 7%的用户为设计机构工作。 - 78%的 Flutter 开发人员使用稳定版渠道,11%的用户使用 beta 版,11%的用户使用 dev 或 master 版。 - Flutter 使用量排名前五的地区分别是印度、中国、美国、欧盟和巴西。 - 谷歌 Play 商店中大约发布了 50,000 个 Flutter 应用,仅在上个月就上传了 10,000 个。 - Flutter 应用中最流行的框架包有 http、shared_preferences、intl、meta、path_provider 和 pedantic。
Flutter企业开发
Flutter 在企业客户中的增长尤其迅速。许多大型公司之所以会选择 Flutter 的关键原因,是因为它能够提供多平台支持,同时提供高水准的产品体验。最近的一个例子是 Nubank,它是亚洲以外最大的数字银行,拥有超过 2000 万客户。Nubank 在对他们的应用程序开发选项进行了详细的调查和分析之后,最终选择了 Flutter,之后他们的前端开发团队就统一在了一个框架上,也因此能够在 iOS 和 Android 平台上同时发布新的软件功能。
企业的一项常见需求是专业组件。谷歌与 SyncFusion 展开了合作,后者的 Essential Studio 产品现在包含了一系列高质量的 Flutter 组件,包括图表、PDF 操作和条形码生成等。在他们的 2020.1 版本中,所有组件均直接支持 Android、iOS 和 Web 平台,并且具有基于 Web 的控件预览。
Flutter版本发布流程
Flutter版本管理
目前,Flutter提供四个渠道版本,分别是beta、dev、master和stable,官方推荐使用stable版本,此版本是Flutter的稳定版本,它们的区别如下: - master:master分支上的代码是最新的,包含最新的特性,但是master 分支上的代码没有经过测试,可能会出现各种各样的bug。 - dev:dev分支存放的是经过Google内部测试的版本,所以dev版本是通过测试的最新构建。不过,dev版本并不意味着不会有任何bug,因为dev版本的测试只是最基础的测试,一旦发现有严重的阻塞性的bug,这个版本就会被废弃。 - beta:beta版本的更新频率是一个月,每个月初Flutter团队都会将上一个稳定的dev版本选为beta版进行发布,此版本通常是经过线上运行的dev分支,没有新的严重的bug。 - stable:通常stable版本从beta分支中选出,stable版本的更新频率一般为一个季度,每个季度发布一个或多个版本,并且stable版本的发布频率也是不确定的。
我们可以通过在命令行工具中输入flutter channel命令来查看当前Flutter的版本,如下图所示。
如果想要体验Flutter的最新变化,可以将本地分支切换到master,但是开发分支的稳定性通常会很差。切换分支的命令为flutter channel beta 或 flutter channel master命令来进行分支的切换。
新的版本发布流程
在谷歌开发新的 Flutter 稳定版本时,他们对原有的发布模型做出了一些更改,以进一步提高发布的稳定性和可预测性。谷歌原来的发布流程的设计目标是简洁和低维护成本。但随着开发团队的规模不断增大,谷歌遇到了一些会影响到 Flutter 贡献者和开发人员的问题,具体包括:
不清楚何时发布什么版本,以及其中包含什么样的代码;
缺乏对分支的测试,结果要重复发布修复程序。
对此,从4月份的 Flutter 版本开始,谷歌将转向一个 beta 和稳定版本固定间隔发布的分支模型。现在谷歌将在每月初发布 beta 版,然后精选(cherrypick)出重要的补丁来稳定该版本。大约每季度一次,当前的 beta 分支将升级到稳定版本。如有必要,谷歌将继续修复此版本。现在谷歌的基础架构支持针对分支的测试,这样就能验证那些精选补丁,并根据严重性的水平接受某些请求。
谷歌还借此机会调整了 Flutter 和 Dart 的发行流程和渠道。Dart 添加了一个 beta 通道,并且之后它们发布的版本将被同步(例如,Flutter beta 版本将包含一个 Dart beta 版本)。
如果用户已经在基于稳定通道发布 Flutter 应用,谷歌建议用户在 beta 候选版本中测试应用,并报告所遇到的任何问题,帮助提升稳定版本的质量。你还可以根据 Flutter Wiki 上新的 Flutter 精选流程的指引,在稳定通道上升级回归或阻止 Bug。 这一新流程将为 Flutter 的发行版带来更高的质量和更好的可预测性,并为将稳定补丁发布到稳定的通道提供更简便的方法。
新的更新流程总结如下: 非稳定发行版将在版本字符串中以.pre 注释,以表示其预发布状态。给定一个 x.y.z-n.m.pre 的版本字符串,每当从 master 生成一个新构建时,dev 通道构建将增加 n,例如: - 1.18.0–1.0.pre:master 版本移至 1.18 之后的第一个 dev 构建。 - 1.18.0–2.0.pre:从 master 的最新发布点出发的下一个 dev 构建。
如上所述,谷歌将从 dev 版本发布点构建 beta 版本。在某个发行版上精选补丁时,m 版本号将会增加。例如,master 的第 15 个 dev 构建作为 beta 的 1.18 版本,则版本控制如下所示: - 1.18.0–15.0.pre:初始 beta 候选版(与 dev 发行版相同)。 - 1.18.0–15.1.pre:在(现在的)beta 分支上的后续构建,带有一些精选补丁。 - 1.18.0–15.2.pre:第二个后续构建。
稳定版的版本号将为 x.y.0。如果有必要,后续的修补程序版本将增加补丁号:x.y.1,x.y.2,以此类推。 - 1.18.0–15.4.pre:分支上的最新 beta 构建。 - 1.18.0:稳定版本,与 1.18.0–15.4-pre 相同。 - 1.18.1:潜在的 1.18.0 修补程序。
除此之外,如果你正在寻找 Flutter 的学习资源,谷歌免费提供了 Flutter 的 入门培训课程,可以帮助新手快速的开始 Flutter 的旅程。
作者: xiaoxlj 时间: 2020-6-9 09:51:40
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 11:11:57
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 12:01:44
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 13:00:23
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 18:42:22
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 20:04:20
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 20:55:46
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-9 23:31:38
upupupupupupupupipupup
作者: xiaoxlj 时间: 2020-6-10 11:12:19
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-10 12:43:49
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-10 16:26:58
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-10 19:03:58
upupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-10 23:29:22
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-11 12:17:53
upupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-11 18:57:04
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-12 00:41:26
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-12 00:41:28
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-12 10:55:56
upupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-12 21:10:01
upupupupupupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-12 21:55:43
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-13 20:43:51
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-14 20:41:51
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-14 20:41:53
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-15 22:45:53
upupupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-16 15:37:50
upupupupupupupupup
作者: xiaoxlj 时间: 2020-6-16 19:40:59
upupupupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-17 12:55:42
upupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-17 15:00:48
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-17 23:12:29
upupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-18 13:43:12
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-19 20:28:06
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-20 21:27:53
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-21 16:04:24
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-21 20:21:01
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-21 20:21:02
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-22 17:31:25
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-23 10:08:13
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-23 14:10:52
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-23 14:10:53
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-24 11:17:18
upupupuupupupupupupup
作者: xiaoxlj 时间: 2020-6-25 16:42:29
upupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-25 21:03:41
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-25 21:03:42
upupupupupupupup
作者: xiaoxlj 时间: 2020-6-26 13:05:17
upupupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-26 17:35:29
Upupupupupupupupupup
作者: xiaoxlj 时间: 2020-6-27 23:52:02
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-28 12:36:12
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-28 18:48:13
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-28 23:15:22
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-29 14:00:22
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-30 15:03:49
Upupupupupupupup
作者: xiaoxlj 时间: 2020-6-30 18:43:58
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-1 14:19:38
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-1 17:36:10
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-6 17:15:54
upupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-7-6 23:48:29
upupupupupupupupupupupupup
作者: xiaoxlj 时间: 2020-7-8 12:54:36
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-8 23:42:08
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-9 16:28:45
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-10 03:30:55
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-10 11:45:53
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-10 22:17:02
upupupupupupupupup
作者: xiaoxlj 时间: 2020-7-11 18:35:36
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-11 18:35:36
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-11 18:35:36
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-11 18:35:37
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-12 18:16:24
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-13 22:47:51
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-14 16:43:39
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-15 03:29:32
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-15 15:49:44
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-16 16:22:42
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-20 01:14:21
upupupupupupupupupup
作者: xiaoxlj 时间: 2020-7-20 16:36:04
upupupupupupupup
作者: xiaoxlj 时间: 2020-7-20 22:57:07
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-23 22:34:26
upupupupupupupup
作者: xiaoxlj 时间: 2020-7-24 19:00:24
Upupupupupupupup
作者: xiaoxlj 时间: 2020-7-27 22:38:27
upupupupupupuupupupup
作者: xiaoxlj 时间: 2020-7-28 19:52:11
upupupupupupupupup
作者: Xanxus 时间: 2021-3-21 16:52:15
能重新发一下二维码嘛
作者: Ecila123 时间: 2021-5-3 13:12:52
二维码谢谢
作者: slayertang 时间: 2022-10-22 10:02:49
群主求拉,更新一下二维码
作者: 小七是雪纳瑞 时间: 2023-4-4 21:16:56
你好,能加你微信吗
欢迎光临 新西兰天维网社区 (http://bbs.skytrade.co.nz/) |
Powered by Discuz! X2 |