2019年4月7日日曜日

Flutter入門でiOSとAndroidにアプリをビルドした

Flutterに入門することにしました。

Flutter(フラッター)は、Googleによって開発されたフリーかつオープンソースモバイルアプリケーションフレームワークである。FlutterはAndroidiOS向けのアプリケーションの開発に利用されている。Fuchsiaではアプリケーションの開発は主にFlutterを利用して行われている[4]
2018年12月4日、ロンドンで開催されたFlutter Live '18にて、初の正式版となるFlutter 1.0のリリースが発表された[5]

iOSアプリにするためにはXcodeが必須なので開発機はMacがいいと思います。

セットアップ


Flutterの公式がよくできてるのでスムーズに行くと思います。とはいえ英語なので、Flutterの日本語本もあります。僕は本を使いました。

技術書典にも本が頒布されていますので、Amazonやhontoなどで購入してみるのも手です。



Flutter情報のキャッチアップ


flutter公式Twitterがあります。2週間ごとに更新があるようです。

東京ではFlutter Meetupという勉強会もあります。Twitterもあります。

Flutterの学習


monoさんという方がいくつか方法を示しています。

僕は本 -> 公式チュートリアル -> Udacity、という順番で計画しています。
その後は自分の好きなものを作るようにしようかと。

所感・つまづき


iOSのビルドに慣れなかったので小一時間ひっかかりました。

本にはFeedParserを使えとありましたが、もうないようです。
その代わりにWebFeed使えるようです。
ソースコードにも変更があるので一部載せます。

  void getItem() async {
    Response res = await get(item.link);
    print(item.link);
    dom.Document doc = dom.Document.html(res.body);
    dom.Element hbody = doc.querySelector('.tpcNews_summary');
    dom.Element htitle = doc.querySelector('.tpcNews_title');
    dom.Element newslink = doc.querySelector('.tpcNews_detailLink a');

Yahoo!側のHTMLに変更があるので、合わせてあげるとうまく行きます。

ソースコードは括弧が多いのが気になります。IDEでも気になります。頑張れば減らせるかもしれませんが。

個人開発や小規模な開発ならFlutterが良さそうだと思います。
次期OSのメイン言語になりそうなので今後も期待できそうです。