我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线
Hi,大家好,我是承香墨影!
距离 Google 在 2018 世界移动大会上发布 Flutter 的 Beta 版本,Flutter 是 Google 用以帮助开发者在 Android 和 iOS 两个平台,同时开发高质量原生应用的全新移动 UI 框架。
当时上线的官网资料,都是英文的。而经历了一个多月的整理、翻译、测试。现在 Flutter 中文站 正式上线了。
Flutter 中文站是 Flutter 官网的一个中文镜像,是目前最全的 Flutter 官方文档的中文翻译,目标是致力于打造 Flutter 的中文开发社区。
对于不抵触英文文档的朋友,还是建议阅读英文文档,毕竟中文站只是一些英文文档的翻译,对于最新的信息,是有一定滞后的。不过 Flutter 中文站的发布,降低了我们学习 Flutter 的成本,有兴趣的可以持续关注。
现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。
我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。
如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。接下来,我们来看看,如何用 8 小时的时间,快速体验 Flutter。
1. Flutter 的技术概览(15分钟)
在这一步骤,你尽量通过一些文档的来了解 Flutter,知道它是基于什么来实现的、能做什么、技术边界在哪里。
2. 搭建开发环境(1小时)
我们是在学习编程,学习编程最重要也是最快捷有效的方式,就是自己上手实验一番,读代码千遍,不如实际 Run 一下。
这一步一定离不开开发环境的搭建,搭建好环境之后,不如根据文档新建一个 Hello World 项目。
3. Flutter for Android(2小时)
到这一步,我相信你应该有一个最简单的 Flutter 可运行的项目。Flutter 虽然是面向所有开发者的开发技术,但是 Google 尤为重视 Android 和 Web 开发的首次接触体验。
如果你正好有 Android 或者 Web 开发经验,Flutter 文档中,还有专门针对这些开发的一些概念类比。例如:Flutter 和 Android 中的 View、Intent 在 Flutter 中等价于什么?这些概念的类比,可以让你更快的在现有技术结构的基础之上,理解和掌握 Flutter。
4. Flutter 使用 Packages(2小时)
Android 中,存在大量第三方库,这些库充斥了我们日常的生产项目中,在 Flutter 的开发过程中,也并不是一个人在战斗。Flutter 支持使用由其他开发者贡献给 Flutter 和 Dart 生态系统的共享软件包。例如:网络请求(http)、导航/路由(fluro)。
了解第三方包的开发和使用,有利于我们更好的理解 Flutter 的生态。
5. 与特定平台交互(2小时)
Flutter 在发布之初就是想要有原生的体验,而为了在多个平台上正常使用和发布,总有一些我们功能我们需要和原生进行交互,例如在 Android 上表现为用 Dart 调用 Java/Kotlin 以及反向操作。
在国内的环境下,我们会用大量的第三方服务,例如统计服务?这些很难要求服务商为我们开发出一款 Dart 的版本,所以如果能够直接和 Java 通信,其实我们只需要自己包一层实现就好了,这也是我比较看重的一点。
6. FAQ(半小时)
到这里其实已经算是基本了解和体验过 Flutter 了,接下来看看 Flutter 的 FAQ 换换脑子。
FAQ 会包含大量你现在可能会遇到的,其他的人曾经碰到过的疑问的答案,通过阅读 FAQ,能让我们更了解 Flutter。
在某个周末,花 8 个小时,快速了解和体验一下 Flutter,不值得吗?
在这 8 小时里,我们虽然放弃了很多细节,但是并不影响我们了解 Flutter 是什么。有了这个大体的印象之后,以后如果需要使用或者调研,都会快很多。
这个过程中,除了开阔了我们的技术栈,其实我们更多的是锻炼我们了解新技术的心态,你今天愿意花 8 个小时了解 Flutter,下次再遇上 谁谁谁 发布的 Xxx,如果你看好它,你也愿意再花上 8 小时了解它。
你觉得呢?
今天在公众号后台回复成长『成长』,将会得到我整理的一些学习资料,也能回复『加群』,一起学习进步。
推荐阅读:
- 漫画:程序员,你能“管理”好你的产品经理吗?
- App 多语言翻译,机器翻译也能快如闪电!
- 2017 最权威区块链报告(内含下载)
- Google 的 Flutter 学习资料!
- 远程控制智能电视,方案已开源!
我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线的更多相关文章
- 花了2小时写bug
程序员的工作,写bug,修bug,改bug 写了2小时逻辑关系,没写明白 比昨天多了一个返回上一层的功能 也很简单,清除下数组内容即可 emm..明天继续深究吧 dic = { "植物&qu ...
- 这个菜鸟花几个小时写的 DEMO 被码云推荐上首页 ?
写在最前 没有接触过 AntV 的诸位看客可通过这篇不成文的文章稍作了解.最近 病毒猖獗,遂抽空做了一个相关小 DEMO.数据可视化方面的使用的是 AntV F2,前端框架使用 Vue 快速成 ...
- python 正则匹配中文(unicode)(转)
由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的.花了一个小时大概测试,此utf8中文通过,特留文. 参考: http://hi.baidu.com/nivrrex/blo ...
- 转 对菜鸟开发者的叮咛:花一万个小时练习Coding,不要浪费一万小时无谓地Debugging
原文见http://blog.jobbole.com/74825/ Coding 之于科技的重要性不言可喻,也不再是软体工程师的专利,医师.律师.会计师.护理师.金融从业人员,甚至是听起来摸不着边的政 ...
- Uber选拔专车司机:五年以上驾驶经验 两小时视频培训
摘要:说起当时下流行打车软件Uber的司机,还得从春节前在上海一次打车说起.那几天,记者在上海某商场逛到打烊时间,大包小包拎着袋子根本腾不出手拦出租车,而商场门口的出租车临时停靠点更是挤满“血拼”而归 ...
- 如何在一小时内更新100篇文章?-Evernote Sync插件介绍
上一篇"手把手教你制作微信小程序,开源.免费.快速搞定",已经教会你如何快速制作一个小程序,但作为资讯类小程序,内容不可少,并且还需要及时更新. 但是,如果让你复制粘贴,可能还需要 ...
- 【半小时大话.net依赖注入】(一)理论基础+实战控制台程序实现AutoFac注入
系列目录 第一章|理论基础+实战控制台程序实现AutoFac注入 第二章|AutoFac的常见使用套路 第三章|实战Asp.Net Framework Web程序实现AutoFac注入 第四章|实战A ...
- 实验十四 团队项目评审&课程学习总结(葛进花201671010413)
实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 作业学习目标 1)掌握软件编码实现的工程要求 2) 反思总结课程学习内容 任务 ...
- 从Script到Code Blocks、Code Behind到MVC、MVP、MVVM
刚过去的周五(3-14)例行地主持了技术会议,主题正好是<UI层的设计模式——从Script.Code Behind到MVC.MVP.MVVM>,是前一天晚上才定的,中午花了半小时准备了下 ...
随机推荐
- cisco交换机实现端口聚合
0x00前言: 今天听老师讲端口聚合,为了方便日后复习故此有 了本篇随笔. 0x01准备工具: cisco模拟器 0x02:目录 为什么要用端口聚合? 广播风暴? 扩展:SMTP 0x03正文: 为什 ...
- Java多线程:Automic包原理
http://blog.csdn.net/zhangerqing/article/details/43057799 https://www.cnblogs.com/dengzz/p/5688021.h ...
- 多线程&定时器Timer&同步&线程通信&ThreadLocal
1.多线程 线程状态分为:新建状态.就绪状态.运行状态.阻塞状态.死亡状态 对象等待池的阻塞状态:运行状态执行了wait方法 对向锁池的阻塞状态:试图获得某个同步锁,已经被其他线程占用,就会放到对象的 ...
- winform 适配high dpi
在 mainifest文件中添加:(新建mainifest文件的时候以下内容是有的,只要取消注释就可以了) <compatibility xmlns="urn:schemas-micr ...
- Beta Scrum Day 2
听说
- 数字是否可以被3和5同时整除,use if and % (21.9.2017)
#include <stdio.h> int main(){ int a; //a是所输入的数字 printf("输入数字: "); scanf("%d&qu ...
- C语言--第七周作业
一.求交错序列前N项和 1.代码 #include <stdio.h> int main() { int i=1,N; double j=0,sum=0; scanf("%d&q ...
- Flask 学习 十一 关注者
数据库关系 1.1多对多关系 添加第三张表(关联表),多对多关系可以分解成原表和关联表之间的两个一对多的关系 多对多仍然使用db.relationship()方法定义,但是secondary参数必须设 ...
- ELK学习总结(3-1)elk的基本查询
基本查询:内置条件 组合查询:组合基本查询 过滤:查询同时,通过filter筛选数据 准备工作 GET /library/books/_mget { "ids":["1 ...
- 阿里云API网关(8)开发指南-SDK下载
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...