Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モバイルアプリを効率的に開発するクロスプラットフォーム開発という選択肢

shige0501
February 22, 2020

 モバイルアプリを効率的に開発するクロスプラットフォーム開発という選択肢

shige0501

February 22, 2020
Tweet

More Decks by shige0501

Other Decks in Programming

Transcript

  1. 自己紹介 - 日本Androidの会 コミュニティ運営委員 中国支部長 - 全然活動できてない - 誰か引き継ぎしたい -

    Client Dev Japan 立ち上げ - クライアントの勉強会をやるコミュニティ - これからやっていこうとしてます - (新型コロナが出てきたので、進め方検討中) - 普段はAndroidアプリの開発エンジニアやってます - フルリモートワーク - 年に数回東京 / 大阪に出張してます
  2. 開発方法が複雑化 / 高度化 (覚えることが増えた) - Androidの場合 - Kotlin - Kotlin

    Coroutine - Android Jetpack - LiveData - DataBinding - Android KTX - 各種ライブラリの知識 - RxJava - etc …
  3. Flutter とはなにか? - 開発言語はDart - DartもGoogleが開発している言語 - GitHub上で2019年最も成長の早い言語 - https://japan.zdnet.com/article/35145190/

    - CやJavaに近い - Kotlinに慣れていると、SmartCastがなかったり、;(セミコロン) の記述が必要だったりと、書き方が古く感じてしまう - 今後の進化に期待
  4. Flutterだとなにが嬉しいのか? - Hot Reload - コードの変更をおこなっても、Flutter Hot Reloadを実行すれ ば大抵の場合はすぐに反映される -

    洗練されたUIで、プラットフォーム間のUI / UXを共通化 - Material Design - 高パフォーマンスの実現 - C++で書かれたSkiaというミドルウェアの恩恵
  5. これまであったクロスプラットフォーム開発との比較 - Xamarin - C# - ホットリロードできない - Unity -

    C# - ゲーム向け - ハイスペックを求めていて、消費電力も大きい
  6. これまであったクロスプラットフォーム開発との比較 - Kotlin Multi Platform - Kotlin - iOS /

    Android / Server の実装をKotlinで統一することができ る - FlutterのようにWebやデスクトップアプリの実装まではまだ踏 み込んでいない - 今後の注目株
  7. Flutterはマルチプラットフォーム開発ができる - Android / iOS以外に、Webと Desktop (Windows / macOS) もサ

    ポート - https://jp.techcrunch.com/2019/05/09/2019-05-07-googles- flutter-framework-spreads-its-wings-and-goes-multi-platfor m/
  8. 何をするアプリなのか? - 個人アプリ - Togglとは? - 作業記録アプリ - 日々の実施した作業を記録 -

    やりたいこと - 日々の実施した作業を日報としてまとめて、Chatworkの指定 した部屋に投稿する
  9. 実際に触ってみた感触 - 難しい - UIの実装方法が少々特殊 - UIの組み方が独特なので、まずはそこを乗り越えないと いけない - iOSやAndroidのUIの組み方とちょっと違う

    - iOS ….. Storyboard - Android ….. Layout EditorやXMLでのレイアウト定 義 - レイアウトやStoryboardに慣れているととっつきにくく感じ る。
  10. 実際に触ってみた感触 - 実際に企業のプロダクションとして使えるのか? - 厳しい - エンジニア不足 - Flutterが書けるエンジニアがまだまだいない -

    できたコードのメンテをできる人不足 - けど、条件付きで採用あり - スピード実装したいスタートアップ - アプリの要件がシンプルなもの - プラットフォーム特有な機能を組み込む場合は少々つら い
  11. 何を見て学ぶと良いか? 1. Flutterの効率良い学び方 a. https://medium.com/flutter-jp/flutter-learning-c5640c5f05b9 ?source=collection_category---4------1----------------------- b. momoさんのサイト。国内でFlutterの詳しさはトップクラスだと 思う 2.

    Flutterの公式サイト a. 一番情報が豊富。上記と合わせてこちらから b. https://flutter.dev/ 3. 書籍 a. Flutter モバイルアプリ開発バイブル b. 基礎から学ぶFlutter
  12. まとめ - Flutterを覚えて帰ってください - Android / iOS 両方のアプリが作れる - スタートアップの間で注目されている

    - Webやデスクトップアプリの開発も可能になるので、定着する と開発の選択肢として広がるかもしれない - もちろん丁寧に作り込むならプラットフォーム個別の開発も選択肢 に - 長期的に運用していくアプリであれば、プラットフォーム毎に近 い環境を選ぶほうがプラス - アプリのライフサイクルがどれぐらいかで見極めて