LINE のフロントエンドエンジニア の GW の活動を5日連続で紹介する企画 vol.1。初回は @potato4d と @spring_raining が、 @xingoxu の GW 企画「Flutter でのカレンダーアプリ作成」について話を聞きました。
まとめはこちら: GWを利用した自由研究発表会を開催しました - LINE ENGINEERING
ゲスト
- https://github.com/xingoxu
- フロントエンド開発センター UIT フロントエンドエンジニア
- 自由研究でやったこと
- Flutter によるカレンダーアプリ開発
テーマ選定の理由
- アプリ基盤の選定理由
- API サーバーから見れば、Web もアプリも同じクライアントである
- その中で、 Web クライアントだけに意識が凝り固まることは良くないので、アプリ側の視点を得るために挑戦してみた
- Flutter の選定理由
- Ionic などのアプローチと比較して後発の技術である
- 違う文法や作法を体験して、Webかアプリかだけでなく、思想や言語単位でも視野を広げたい
インプレッション
- シンタックスは React に近く、書き心地は悪くない
- Dart および Flutter 特有のウィジェットを使うのが、 HTML tag と違って追加の学習が必要となる
- 開発環境のサポートは良い
- VSCode プラグインなど、エディタ環境は整っている
- ドキュメントもDart言語に内蔵されており、ブラウザで調べなくてもさくさく書けます
- Dart に JavaScript とのパラダイムの違いはある
- List(Array) / Object について、 Object Oriented の言語の概念が先行しているため、Class が中心となっており煩雑な部分はある
- iOS / Android では基本的に同じコードで動作可能
- OS フレンドリーな UI を求めると書き分けが大量になるというよくある自体は起こりづらい
課題感
- Flutter の UI コンポーネントについての資料が少ない
- 実装はされていても、使いたいものがどれかを探すのが大変
- Material Design を遵守するコード以外が記述しづらい
- 整った UI を作りやすい一方で、自由度が低い
これからと業務
- Flutter の知識が業務で活きることは多くなさそう
- だが一方で、普段のフロントエンドの知識が Flutter へと転用できたり、逆に Web の知識の広さを体験できた