deha magazine / flutter / ベトナム人エンジニアに聞く!Flutter開発最新事情
ベトナム人エンジニアに聞く!Flutter開発最新事情
2022/03/04
Flutterは現在世界的にトレンドの開発言語です。
FlutterはGoogle社が開発したフレームワーク。iOS・Android・Web全てに共通した優れたUIを一度に作ることが可能です。デザインの自由度も高く、簡単にUIを開発することができます。
当記事ではそんな「Flutter」の活用を得意としているベトナムのオフショア開発会社「DEHA」のエンジニアにインタビューし、Flutterを活用した開発に関して生の声をお届けします。
Q.自己紹介をお願いします
DEHAエンジニアのグエン・ティエン・ドゥンです。27歳。3年以上のモバイルプログラミングの経験があります。
Android、iOSのアプリの開発が得意です。開発言語はReact Native、Flutter、NodeJSを書いています。
趣味はサッカーとゲームです。
Q. 普段の業務を教えて下さい
チームとスクラム定例会を行います。日常のタスクを計画し、作業時間を調整します。
他のチームメンバーの技術的な問題を解決することをサポートします。
Q. Flutterのスキルはどのような方法で学習しましたか?
私はFlutterとDartを2年間くらい経験しました。
ReactNativeを使った経験があるので、Flutterの学習に切り替えるのは問題ないです。
学習形式:widget、navigation、animationなどに関するFlutterのcookbook、ドキュメントを自己読み取ります。BLOC、provider、riverpod、GetXなどの一般的な状態管理及びMVVMのような基本的なアーキテクチャを独学します。
そこから、実際のプロジェクトに適用できるDEHAのプロジェクトベースを構築します。
Q. Flutterの開発スキルを向上する為にやっていることがあれば教えて下さい。
Flutterの勉強と作業中に、FlutterのYoutubeチャンネルをフォローしています。 Flutterが推奨する優れたWidgetまたはPackageを更新するための「Package of the week」セクションがあります。
その上で、pub.dev(Flutterライブラリを含むWebサイト)で多くのいいねを使用してライブラリを更新します。
アプリのパフォーマンスを向上させる方法を見つけます。
Q. Flutterでの開発経験について教えて下さい
Flutterを使用した2年間のアプリ開発経験について:
- 各アーキテクチャのプロジェクトベースを構築および展開する方法に関して把握してます。
- コードの整理、widgetの整理、状態の管理、ネイティブコードのリンク管理、単体テストなどの方法を取得しました。
- ヘルスに関して人気パッケージ(Apple Health、Google Fit)やアプリ内購入(In App purchase)や通知処理などを扱った経験があります。
- アプリケーションを構築して、AppStoreとGoogle Play Storeにプッシュした経験があります。
Q. Flutterで開発して良かったことを教えて下さい
まず、Dart言語(oop言語)は非常に明確できついです。 Dart言語はAndroidをコーディングするときのKotlin言語に非常に似ているので、興味が深くあります。
FlutterはReact Nativeと比較して、アニメーションを非常にスムーズに処理します。
以前、コミュニティはそれほど多くありませんでしたが、現在はFlutterのコミュニティが成長しています。クロスプラットフォームの開発になる可能性があります。(Flutterの未来について明るいと思います。)
多くの美しく使いやすいwidgetをサポートします。
Kotlin(android)およびSwift(iOS)のコードサポートは非常にアクセスしやすいです。 React Nativeの場合、ネイティブコードはObjectiveCになります。これは、開発者にとってアクセスが難しい言語です。
ホットリロードおよびデバッグをサポートしますので、非常に便利です…
私の個人的な経験によると、apkファイル(android)とipa(ios)をビルドする時間はReactNativeよりも高速です。
Q. Flutterで開発する際の課題があれば教えて下さい。また、その課題をどうやって解決したか教えて下さい。
Flutterの課題。
FlutterはReactNativeのようなCodePushをまだサポートしていません。。
UIはネイティブUIとは独立に記述されているので、かなりメモリを消費していると感じています。
上記の2つの客観的な課題に加えて、大きな問題はないと思います。将来的には、Flutterの開発チームがFlutterの現在の欠点を改善することを期待します。
Q. Flutterでの開発において、品質を高める為に工夫していることがあれば教えて下さい。
- アプリの品質を向上させるために、パフォーマンスを頻繁に監視しています。
- ユニットテストを作成してコードの品質を向上させます…
- 近い将来、DEHAのFlutterプロジェクトの自動化テストを作成するためにデプロイします。
Q. その他、Flutterでの開発に関して、伝えたいことがあれば教えて下さい。
Flutter、React Nativeなどのフレームワークを使用した経験を積んだ後、 React Nativeを使用したコーディングに加えて、Flutterがモバイルプログラミングの未来になることがわかりました。
まとめ
いかがだったでしょうか。本日はDEHAのエンジニアのインタビューを通じて、ベトナムオフショア開発におけるFlutterでの開発の状況をご紹介していきました。
DEHA社では高品質な開発をスピーディーに納品する為に、Flutterの習得を積極的に取り入れています。
インタビューをご覧の通り、DEHAには多くのFlutter開発実績があるからこそのナレッジがあります。
Flutterを使った開発をご検討の方は是非ご相談下さい。