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

Androidエンジニアから見たMulti Platform

Androidエンジニアから見たMulti Platform

2019/07/24(水) Fintech,Python…気軽にくっちゃべる会#2 発表資料

Avatar for kotato

kotato

July 24, 2019

More Decks by kotato

Other Decks in Programming

Transcript

  1. 自己紹介 古田土 翔大 (git. hakuyoka, twitter: @boy_surface) ウェルスタイル株式会社 エンジニア ・Androidエンジニア(RailsもAWSもPHPも触る) ・家族SNS

    wellnote の開発と保守と採用 ・新しい技術をやっては捨てる人 ・最近はFlutterとRustをやってる オフィス見学とかやってます 来るとご飯おごってくれます(社長が
  2. マルチプラットフォームの特徴 動作 UIコンポーネント APIラッパ エコシステム Xamarin Natvite Native あり .Net系も使える

    Flutter Native 独自 なし Firebase系が強い React Native Web Native なし Kotlin Native Native なし あり Java系も一部 PWA / WEB Web Web なし JSそのまま
  3. React Native • FaceBook製のReactベースのライブラリ • Reactの知識がそのまま使える • 実績も多い (Facebook, Skype)

    • AirBnBショックがあったが、安定して使われている印象 • Webエンジニアだけで書けるかというと多分無理  どこかでNativeの知識が必要になってくる それでも各プラットフォーム毎のモバイルエンジニアがいれば
  4. Flutter • Google製のライブラリ • HotReloadで快適に開発できると評判 • Firebaseとの連携が厚い • マテリアルデザインな独自UI 弊社iOSエンジニア曰くの人はそんなにわからないかも?

    • Dart言語 Java書ければ書けるが、モダンな言語とは言い難い  マイナーな認識があるのかドキュメントは豊富 • ネイティブのAPIを叩く場合は、Nativeのコードが必要 ライブラリは多い方で探しやすい
  5. Kotlin Native • JetBrainsのKotlinフレームワーク • Kotlin Native Multi Platformsで、iOS,Android共通ライブラリが書ける •

    Kotlinかけるエンジニアは割と多い • UIは各プラットフォームの実装が必要 • ドキュメントはあまり親切じゃない • まだ、少しバグい
  6. PWA / WEB • Web技術だけでも作れる ◦ Webエンジニアだけで一番はまらない方法 • アプリがWebだけ完結できそうならあり •

    センサくらいのAPIは叩ける • NativeっぽいUIにするのは難しい • 全てのNativeのAPIを呼べるわけではない 特にバックグラウンド処理周りが弱い • Webだからってプラットフォームのアップデートは無視できない
  7. おすすめ • Flutter ◦ わかるエンジニアがいれば、爆速で開発して仮説検証まで可能 ◦ スタートアップでのアプリやモックアップに向いている ◦ 保守や大規模な運用は厳しめなので、ゆくゆくは Nativeに置き換えることも検討

    • Kotlin Native Multi Platforms ◦ ドメイン層は普通は共通化できるので、そこまで共通化が可能 ◦ Nativeアプリがあるなら、Kotlinを書くことができるエンジニアはいる ◦ サーバサイドKotlinやっているとサーバサイド側がドメイン層も書ける ◦ モバイルエンジニアが UIに集中できる • PWA ◦ Native独自の機能が将来にわたり必要になることがない ◦ NativeっぽいUIである必要がない ◦ Webのシステムをとにかく App Store, Play Storeに載せたい