Hi,大家好,我是承香墨影!

距离 Google 在 2018 世界移动大会上发布 Flutter 的 Beta 版本,Flutter 是 Google 用以帮助开发者在 Android 和 iOS 两个平台,同时开发高质量原生应用的全新移动 UI 框架。

当时上线的官网资料,都是英文的。而经历了一个多月的整理、翻译、测试。现在 Flutter 中文站 正式上线了。

Flutter 中文站是 Flutter 官网的一个中文镜像,是目前最全的 Flutter 官方文档的中文翻译,目标是致力于打造 Flutter 的中文开发社区。

https://flutterchina.club/

对于不抵触英文文档的朋友,还是建议阅读英文文档,毕竟中文站只是一些英文文档的翻译,对于最新的信息,是有一定滞后的。不过 Flutter 中文站的发布,降低了我们学习 Flutter 的成本,有兴趣的可以持续关注。


现在新技术层出不穷,如果每次出新的技术,我们都深入的研究的话,很容易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很容易被我们遗忘,到最后真的需要使用的时候,又要从头来过(虽然上手会更快)。

我觉得身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面对新技术,不要抵触,拥抱变化就好了。

Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,成本确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能接受的。

如果有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是如果我们只有 8 小时的时间,我希望能关注一些最值得关注的点。接下来,我们来看看,如何用 8 小时的时间,快速体验 Flutter。

1. Flutter 的技术概览(15分钟)

在这一步骤,你尽量通过一些文档的来了解 Flutter,知道它是基于什么来实现的、能做什么、技术边界在哪里。

https://flutterchina.club/technical-overview/

2. 搭建开发环境(1小时)

我们是在学习编程,学习编程最重要也是最快捷有效的方式,就是自己上手实验一番,读代码千遍,不如实际 Run 一下

这一步一定离不开开发环境的搭建,搭建好环境之后,不如根据文档新建一个 Hello World 项目。

https://flutterchina.club/get-started/install/

3. Flutter for Android(2小时)

到这一步,我相信你应该有一个最简单的 Flutter 可运行的项目。Flutter 虽然是面向所有开发者的开发技术,但是 Google 尤为重视 Android 和 Web 开发的首次接触体验。

如果你正好有 Android 或者 Web 开发经验,Flutter 文档中,还有专门针对这些开发的一些概念类比。例如:Flutter 和 Android 中的 View、Intent 在 Flutter 中等价于什么?这些概念的类比,可以让你更快的在现有技术结构的基础之上,理解和掌握 Flutter。

https://flutterchina.club/flutter-for-android/

4. Flutter 使用 Packages(2小时)

Android 中,存在大量第三方库,这些库充斥了我们日常的生产项目中,在 Flutter 的开发过程中,也并不是一个人在战斗。Flutter 支持使用由其他开发者贡献给 Flutter 和 Dart 生态系统的共享软件包。例如:网络请求(http)、导航/路由(fluro)。

了解第三方包的开发和使用,有利于我们更好的理解 Flutter 的生态。

https://flutterchina.club/using-packages/

5. 与特定平台交互(2小时)

Flutter 在发布之初就是想要有原生的体验,而为了在多个平台上正常使用和发布,总有一些我们功能我们需要和原生进行交互,例如在 Android 上表现为用 Dart 调用 Java/Kotlin 以及反向操作。

在国内的环境下,我们会用大量的第三方服务,例如统计服务?这些很难要求服务商为我们开发出一款 Dart 的版本,所以如果能够直接和 Java 通信,其实我们只需要自己包一层实现就好了,这也是我比较看重的一点。

https://flutterchina.club/platform-channels/

6. FAQ(半小时)

到这里其实已经算是基本了解和体验过 Flutter 了,接下来看看 Flutter 的 FAQ 换换脑子。

FAQ 会包含大量你现在可能会遇到的,其他的人曾经碰到过的疑问的答案,通过阅读 FAQ,能让我们更了解 Flutter。

https://flutterchina.club/faq/


在某个周末,花 8 个小时,快速了解和体验一下 Flutter,不值得吗?

在这 8 小时里,我们虽然放弃了很多细节,但是并不影响我们了解 Flutter 是什么。有了这个大体的印象之后,以后如果需要使用或者调研,都会快很多。

这个过程中,除了开阔了我们的技术栈,其实我们更多的是锻炼我们了解新技术的心态,你今天愿意花 8 个小时了解 Flutter,下次再遇上 谁谁谁 发布的 Xxx,如果你看好它,你也愿意再花上 8 小时了解它。

你觉得呢?

今天在公众号后台回复成长『成长』,将会得到我整理的一些学习资料,也能回复『加群』,一起学习进步。

推荐阅读:

我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线的更多相关文章

  1. 花了2小时写bug

    程序员的工作,写bug,修bug,改bug 写了2小时逻辑关系,没写明白 比昨天多了一个返回上一层的功能 也很简单,清除下数组内容即可 emm..明天继续深究吧 dic = { "植物&qu ...

  2. 这个菜鸟花几个小时写的 DEMO 被码云推荐上首页 ?

    写在最前     没有接触过 AntV 的诸位看客可通过这篇不成文的文章稍作了解.最近 病毒猖獗,遂抽空做了一个相关小 DEMO.数据可视化方面的使用的是 AntV F2,前端框架使用 Vue 快速成 ...

  3. python 正则匹配中文(unicode)(转)

    由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的.花了一个小时大概测试,此utf8中文通过,特留文.    参考: http://hi.baidu.com/nivrrex/blo ...

  4. 转 对菜鸟开发者的叮咛:花一万个小时练习Coding,不要浪费一万小时无谓地Debugging

    原文见http://blog.jobbole.com/74825/ Coding 之于科技的重要性不言可喻,也不再是软体工程师的专利,医师.律师.会计师.护理师.金融从业人员,甚至是听起来摸不着边的政 ...

  5. Uber选拔专车司机:五年以上驾驶经验 两小时视频培训

    摘要:说起当时下流行打车软件Uber的司机,还得从春节前在上海一次打车说起.那几天,记者在上海某商场逛到打烊时间,大包小包拎着袋子根本腾不出手拦出租车,而商场门口的出租车临时停靠点更是挤满“血拼”而归 ...

  6. 如何在一小时内更新100篇文章?-Evernote Sync插件介绍

    上一篇"手把手教你制作微信小程序,开源.免费.快速搞定",已经教会你如何快速制作一个小程序,但作为资讯类小程序,内容不可少,并且还需要及时更新. 但是,如果让你复制粘贴,可能还需要 ...

  7. 【半小时大话.net依赖注入】(一)理论基础+实战控制台程序实现AutoFac注入

    系列目录 第一章|理论基础+实战控制台程序实现AutoFac注入 第二章|AutoFac的常见使用套路 第三章|实战Asp.Net Framework Web程序实现AutoFac注入 第四章|实战A ...

  8. 实验十四 团队项目评审&课程学习总结(葛进花201671010413)

    实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 作业学习目标 1)掌握软件编码实现的工程要求 2) 反思总结课程学习内容 任务 ...

  9. 从Script到Code Blocks、Code Behind到MVC、MVP、MVVM

    刚过去的周五(3-14)例行地主持了技术会议,主题正好是<UI层的设计模式——从Script.Code Behind到MVC.MVP.MVVM>,是前一天晚上才定的,中午花了半小时准备了下 ...

随机推荐

  1. flex布局简析

    最近开始对flex布局进行一个重新的认识. 首先. flex布局适用于所有元素 但是注意一点的就是,一旦父级元素设定flex布局的时候,子元素的传统布局属性, float,clear,vertical ...

  2. bashell基础

    身为一个iOS程序员,虽然iOS相关技术十分重要,但是bash也是不可不了解的,因为技能的成长,除了深度,还需要广度.下面就来介绍下bash. Shell是C语言编写的,所以他是解释性语言,运行在Li ...

  3. centos7 yum 安装mariadb

    #vim /etc/yum.repos.d/mariadb.repo [mariadb]name = MariaDBbaseurl = https://yum.mariadb.org/10.1.16/ ...

  4. TensorFlow-谷歌深度学习库 用tfrecord写入读取

    TensorFlow自带一种数据格式叫做tfrecords. 你可以把你的输入转成专属与TensorFlow的tfrecords格式并保存在本地. -关于输入碎碎念:输入比如图片,可以有各种格式呀首先 ...

  5. 第 8 章 IO库

    第 8 章 IO库 标签: C++Primer 学习记录 IO库 第 8 章 IO库 8.1 IO类 8.2 文件输入输出 8.1 string流 8.1 IO类 IO对象无拷贝或赋值,因此不能将形参 ...

  6. 简单谈谈DNS的工作原理及实践

    DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...

  7. Docker深入浅出系列教程——Docker简介

    我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐.如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析. 本节属于入门简介,从三个小方面进行简单介绍Docker. Do ...

  8. java之静态属性和静态方法

    前言 静态属性和方法必须用static修饰符 静态属性和非静态属性的区别: 1.在内存中存放位置不同   所有带static修饰符的属性或者方法都存放在内存中的方法区  而非静态属性存放在内存中的堆区 ...

  9. Python并发编程之进程

    一.理论概念 1.定义 进程(Process 也可以称为重量级进程)是程序的一次执行.在每个进程中都有自己的地址空间.内存.数据栈以及记录运行的辅助数据,它是系统进行资源分配和调度的一个独立单位. 2 ...

  10. Python choice() 函数

    Python choice() 函数  Python 数字 描述 choice() 方法返回一个列表,元组或字符串的随机项. 语法 以下是 choice() 方法的语法: import random ...