簡単な紹介
休暇(1月)の後、仕事と勉強を組み合わせるために、Android開発者としてハーフタイムで少し働くことにしました。
12月に、ソチを拠点とするIT企業のチーフプログラマーに会いました。
会社の秘密を守るために会社名を開示することはありませんが、これは重要ではありません。同社は非常に若いため、新しいテクノロジーを使用しています。Java / KotlinではなくFlutter開発者が必要だと言われたとき、私は驚きました。
それが私がFlutterを知るようになった方法です。
第一印象
Flutterで生成されたモバイルアプリプロジェクトを最初に見たとき、私は完全に驚いていました。すべてが通常のネイティブAndroid開発とは完全に異なっていました。
最初に目を引いたのは、まったく別の言語であるダートでした。
私はすぐにこのセクションを研究し始め、Flutterが宣言型のUIを書くフレームワークであることがわかりました。
私はこのスタイルのコーディングを理解したことがありません。過去にReactJSをマスターすることを決心しましたが、それを乗り越えることができず、諦めました(主に愚かさと怠惰のため)。なぜ宣言型プログラミングスタイルなのか?直感的に必要なものがあります。ボタンオブジェクトを作成し、それを親要素に追加するなどです。
Flutterに興味を持ったとき、このアプローチの主な利点に気づき、理解しました。
より少ないコード
直感的
開発の加速
力
. .
, , UI , Android Studio:
Scaffold(
appBar: AppBar(
title: Text("Counter App"),
),
body: Center(child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("You have pushed the button this many times: "),
SizedBox(height: 10),
Text("$counter",
style: Theme.of(context).textTheme.headline4,
)
],
),),
floatingActionButton: FloatingActionButton(
onPressed: () { setState(() => counter = counter + 1); },
child: Icon(Icons.add),
),
);
: , )))
: , - , UI
: . UI .
, Dart : , , UI .
. Flutter , , Java / Kotlin - 100% ( ).
, , : , .
flutter.dev, .
, sqlite Android iOS - sqflite.
, (pub-) pubspec.yaml, build.gradle (Android).
Dart ( Flutter) pub.dev
, Flutter Android iOS, .
C .
Dart. , Dart Tour
, - , UI (, ..). : , ..
Thread' (Java), Coroutines (Kotlin) Android
Flutter , :
fun getArticles() async {
final response = await http.get("https://xxx.ru/rest/getArticles");
final List<Article> articles = decodeArticles(response.body);
setState(() {
this.articles = articles;
});
}
Flutter , setState
.
setState
(Dart ) , .
setState
: , , Flutter . ( , Flutter , , , ).
Flutter - .
Flutter .
Flutter - ( ).
Flutter .
provider . .
Flutter
, Flutter - framework , , React Native .
Flutter.
Flutter :
UI framework, . Android , .. View ;
- .. Flutter , iOS Android, , :)
,
- Flutter , pub-, ). Flutter , Flutter Engage 2021
Flutter:
- , Flutter
-
この記事は主観的な意見であるため、私はいくつかの点で、そしておそらくすべての点で間違っている可能性があります。
私の主な目標は、Flutterでの謙虚な開発経験を表現し、私の意見といくつかのコメントを共有することでした。
最後に、Flutterには将来の開発に必要なすべての状況があり、まだ成長していない場合でも、クロスプラットフォーム開発の他のアプローチ(React Native)よりも成長する可能性があることに注意してください。
便利なリンク: