本議程將介紹 Flutter 作為一個跨平台框架,基本的原理介紹,及使用的利弊性,並以自身開發高科校務通及 DevFest App 的經驗為例。先備知識
無,但如果有開發過Mobile App或Web會比較有感
SITCON 2020 共筆
SITCON 2020
2020
共筆
R1
歡迎大家來到SITCON 2020 ヽ(✿゚▽゚)ノ
共筆入口:https://hackmd.io/@SITCON/2020
手機版請點選上方 按鈕展開議程列表。
請從這裡開始
前端定義
負責渲染UI
跨平台定義
單一程式碼,發佈到不同的平台上(mobile web desktop embedded)
Flutter 使用語言 : Dart
Moblie
Web (不穩定)
Desktop (不穩定)
Embedded
(除了原生APP 也有用網頁直接以WebView 植入APP)
Android 元件碎片化(Android 跨版本問題)
Flutter create產生的範例code 片段
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
程式碼就是介面
Android AND iOS
Android 4.1(API 16)
iOS 8
>長按輸入框造成
>太貪心, 跨太多平台了
>~~用戶問題很多~~
官方提供 Official Plugin、Firebase Plugin
套件數量大幅上升中!
Dart 不好找資源(相比於JavaScript)
轉移至 CanvasKit(較為底層)
輔助偵錯
Electron 像寫網頁 且 有自己的渲染引擎
Flutter 還正在慢慢追 Electron、RN 等 Framework
KKTIX,KKBOX
渲染的技術不同, 也是 Flutter 著重的點
Qt 用 C++ 寫, 效率好
狀態管理蠻重要的
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing