言語的にはSwiftが大好きですが、これからアプリ開発をするならもうFlutterでいいと思っています✌️
Flutterの強み👇
- iOS, Android, Web, Mac など(大部分)同じコードで多くのプラットフォームのアプリを作れる(クロスプラットフォーム)
- ウィジェット(UIのパーツ)が豊富
- Googleが開発に力を入れていて当面安心できそう
今までのクロスプラットフォーム
今までと何が違うのかというと個人的にはパフォーマンスだと思います。元祖クロスプラットフォームと言えばWebViewを使用したアプリですが、結局内蔵ブラウザみたいなものなので相性が良くなく、ネイティブに比べもっさりしやすく違和感があります。Ionicとかがそうですよね。
React Nativeも有名ですが、内部でJavaScriptのエンジンがUI組み立てたりロジックを司っているのでNativeと名前に入っていますが本当の意味でネイティブじゃないんですよね。
Flutterは独自の描画エンジンを持っていてパフォーマンスがとても良いです。独自の描画エンジンある他のメリットはプラットフォームごとに見た目がほぼ同じになることですね。
クロスプラットフォームライブラリを避けてきたプログラマの方々がよく言うのはパフォーマンスを犠牲にしたくないとか、ネイティブじゃないとできないことを犠牲にしたくないとか。
わかります
僕もそうでした。
Flutterが弱いところ👇
- Googleが開発してるため主にマテリアルデザインのWidget(UIパーツ)が多く、iOSのUIのネイティブ感出すのは難しい。 → Cupertino関連のWidgetである程度それっぽく見せることは可能。アプリの一般ユーザはそこまで気にならないと思います。
個人的に嫌なところ
Flutterで採用されているDart言語が嫌いです。JavaScriptをベースに改良した感じの言語ですが、そもそもJavaScriptが嫌いです。