Day 1 | 前言与大纲

哈罗我是Todd,是一个比较喜欢写前端的全端工程师,工作上大部分是使用 React 及 Node.js 来进行开发。

刚好今年参与了一个 Flutter App产品的开发所以也开始学习 Flutter ,而年初 Flutter 2.0 release 时也同时宣布的 Flutter web 正式进入 stable channel ,让我有信心这个功能应该会被长期维护下去。也觉得既然都开始学习 Flutter 了就来玩玩看这个新功能好了。顺便以 web 的形式来复习一下今年在Flutter中所学到的东西。

在正式开始之前我想先说明一下本系列文大概的规划:
基本上我是会以前端工程师的角度来切入,所以在文章中可能会用 js 或者网页开发上的一些概念辅以解说,但这不代表你必须有网页开发经验才能读懂,只是有的话会比较容易吸收。
也因此不太建议完全没有写过任何一种程序语言的人来阅读,而也因为这是以「Flutter web」为主轴的题目,所以并不会有「iOS」、「Android」相关的内容。

当然也因为我并非专职的 Flutter developer 所以可能在深度上也不无法像其他大神一样深入,整个系列文还是比较像是学习笔记的感觉。

Flutter 是什麽?

简单来说就是主要是由 google 团队维护的一个「跨平台应用程序开发框架」,而这里的「跨平台应用程序」就包含了基本常见的「iOS」、「Android」的原生应用程序但Flutter也包含了「MacOS」、「Ubuntu」、「Windows」等各类平台的应用程序,当然也包含了本次的主角:在浏览器上运行的「Flutter web」。

Flutter web 有料吗?

这里就只先探讨「Flutter web」,毕竟我也没有使用 swift/kotlin/java开发natvie app 的经验,实在是没有什麽立场做比较。至於 「Flutter」这个框架本身的特点等到之後篇章再来详细说明。

以下优缺点是我以「前端工程师」的角度加上我个人主观的看法:

优点:

  1. JS与 Dart(*)的相似度高,基本上没有什麽不习惯的地方
  2. 这是一个可以让JS developer 跨足到原生应用程序开发的入门砖
  3. 强迫自己学习OOP(**)

缺点:

  1. 基本上我个人认为目前最严重的是SEO问题,毕竟 Flutter web 的渲染方式不是我们熟知的Html那套所以现在应该是不太好实作SEO。
  2. 太新,用於产品会有相当程度的风险。
  3. 目前效能表现并不理想。

结论:即使真的要用於产品上,现在Flutter web可能比较适合在不需要SSR的场景,或者是有需要把app专案快速迁移成web版本的这种需求,对我来说「Flutter web」就是更接近字面意义上的「web application」。

但我个人是还蛮看好 Flutter 及 Dart 的未来,毕竟它们带给我的开发体验实在是很不错,再加上google感觉是蛮大力地在推广得这些技术的,长远来看是可以投资的技术。

本系列文预计内容

  1. Dart 基本介绍
    1. 基本开发环境与Dart 基本语法
    2. Dart 非同步
    3. Dart 特性
  2. Flutter
    1. Flutter 安装
    2. Flutter 常用widget
    3. Flutter 小demo-1
    4. Flutter 常用 pub
    5. Flutter 小demo-2

附注* : Flutter主要使用的语言

附注**:这真的是超级主观的个人看法,对我来说我的工作上FP会比OOP更为常用。


<<:  每个人都该学的30个Python技巧|技巧 14:什麽都能装的百宝袋—串列(List)(下)(字幕、衬乐、练习)

>>:  D4-用 Swift 和公开资讯,打造投资理财的 Apps { 下载公司股票代号和股票名称等基本资料 }

Day11 远端共同协作 - 使用 GitHub

大家好我是乌木白,今天来向大家介绍GitHub,我自己很喜欢的一个可以做很多功能的网站!! 什麽是...

Innodb资料页结构-Part2(页面目录、页面表头、档案表头、档案结尾)

资列页(16kb大小)的结构有7个部分 1.使用者纪录(user records) 2.空闲空间(f...

全域

全域变数 = 全域物件的属性 var deposit =500; //全域变数 console.lo...

使用程序来管理资料库(DB Migrate) (Day27)

以下内容同步更新於 https://kevinyay945.com/smart-home-tutor...

D-02-验证结果 ? ExpectedObjects

如何验证结果 在学会如何Mock介面後,接下来处理的问题就是复杂的类别要怎麽来验证,当然可以透过JS...