こちらの記事では、ざくっと未経験からFlutterをやっていく人に向けたメリット・デメリットを伝えられたらなと思います。
#開発環境構築
以下を参考にさせて頂きました。(iosアプリのみの場合、android環境を構築せず制作できます)
・Flutter開発環境構築
#用いたライブラリ
・geolocator 5.1.3
・cloud_firestore: ^0.9.5
#つくったもの
タイムを測りながらGPSで距離測定をするストップウォッチ機能とfirebaseのデータベース(firestore)で記録をランキング化する機能があるアプリ
##未経験でも、ある程度のアプリは開発できるのか?
結論から言いますと可能だと思います。
ゲームアプリを制作したいとかだと難しいと思いますが、ToDoアプリやSNS、タスク管理系のツールであればフロントエンド部分で細かい修正に時間がかかるかもしれませんが大方できると思います。バックエンド部分は、firebaseで開発すると学習コストは然程かかりませんし、flutterには何と言ってもホットリロードがあります。ホットリロードとは、コードを書き直せば即確認できる機能です(web制作に似た感じです)
##メリット
・簡単な個人開発アプリを制作する時には学習コストが少なくすむ。(仮にAndroidでも公開したいとなっても対応がしやすい)
・ホットリロード機能があるので、ビルドして毎回確認する必要性がない。(ネイティブと比べると、この点が嬉しい限りだと思います)
・割とライブラリが豊富(ネイティブ程ではないですが、こんなライブラリあるかなーと検索してみるとみつかるので、私はあまり困らなかった)
##デメリット
・日本語記事の少なさ(エラーがでたり、ライブラリの使い方を調べるときに英語記事を読む必要性があります)
・ARkitなど、ネイティブしかないライブラリを使いたい場合、諦めるしかないです。(なので、つくりたいアプリに必要な機能をflutterは満たしているのか確認する必要があります)
・xcodeのアップデートによってflutterのバージョンを上げる必要があった(ビルドができなくなったので焦りました汗)
#まとめ
個人開発をしたい方にはお勧めです。プログラマー実務未経験から就職・転職となると案件が少ないのでネイティブ上がりのプログラマーと競争する必要があるのかなと思いました。(実体験)
ざくっとFlutterについて書きましたが、あくまで個人的見解なので参考までに。
技術的なことやコードについては違う記事で詳しく書いておくとおもいますので、気になった方はチェックしてみてください。
#アプリ使ってくださると嬉しいです。
[競い合いランニングアプリ RUNKING](https://apps.apple.com/jp/app/%E7%AB%B6%E3%81%84%E5%90%88%E3%81%84%E3%83%A9%E3%83%B3%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%A2%E3%83%97%E3%83%AA-runking/id1507729440)