blog2018-05-21Flutterを試したflutter.io先日なんとなく物見遊山的にFlutterを試してみた。事前の知識もなく数時間で試した程度で、全体に不案内ではあるから、それなりの感想であることを先に断っておく。Installにしたがって環境を構築した。Homebrewなどでインストールできるようにしようという動きもあるが、現時点では手でSDKを配置する必要があるなど、少し手間がかかる。経験がないと少し難しいかもしれないが、時間が解決するだろう。IDEAにDartプラグインとFlutterプラグインをインストールした。2.0を書くことができた。RunボタンでFlutterアプリを容易に実行できるのは当然として、リファクタリング関連の機能も完全に動作するし、コードを保存した際にdartfmtを呼び出す設定もできた。2.0は、きちんと学んだわけではないが、書きやすく感じた。constructorなど、色々な機能がある。Genericsもあれば、pubというパッケージ管理の仕組みもあって、とにかく一通り揃っている。async/awaitの構文とFutureやStreamによる非同期処理の手厚いサポートは便利に思う。プログラミング言語としての用途をクライアントサイドのソフトウェア開発に絞ったことで進歩的な機能を取り入れ易かったのだろうと想像する。Nativeでもそうだが、コードを書いたらすぐにアプリに反映されるのは便利である。Reloadは人権」のような言説が出てくる頃合いだと思う。Reloadが動作するのには驚いた。Flutter肝心のFlutterであるが、Reactにインスパイアされた宣言的なUIフレームワークは扱いやすく、好ましく感じた。Reactのcomponentにあたる概念がWidgetで、StatelessWidgetやStatefulWidgetをうまく組み合わせて使う。DesignもしくはiOSに似せた(Cupertino)スタイルのwidgetを組み合わせると、それだけでもある程度のアプリができてしまう。FutureBuilderのように、非同期に得られるデータを使ったUIを抽象化してくれるwidgetが特に便利である。非同期処理というのは「状態」に他ならないが、「状態」を宣言的にUIへ反映させられるからこその、宣言的なフレームワークである。componentだろうか。Scaffoldというような行コメント風の表示で括弧の終わりを示してくれたりと、工夫を感じる。widgetの不在に気がついた。考えてみれば、FlutterはOpenGLでまったく独自にUIを描画しているのだから、WebViewを実装するのは容易なことではない。Nativeと大きな違いが生まれている。このトレードオフが今後どのように影響してくるのか、難しいところだろう。全体的に少し書いてみたところでは、Flutterはおもしろい。バージョンが0.3と若く、未成熟さも感じる。来年に予定されるバージョン1.0のリリースまでには、さらに使いやすくなるだろう。このような未成熟さを、コントリビューションのチャンスと捉えることもできる。Flutterが有効に機能する場面はまだ限定されていると思う。このような宣言的なフレームワークは業界の最新の流行であるから、学んでみて損はない。#WWDC19昨年のWWDCよりさらに前に、Marzipanを予想すると称して、与太...2018-04-15Marzipanを予想する予想というか、根拠のない与太話です。Conferenceに参加した。検索リンクはてなブログブログをはじめる(無料)お知らせ最新記事SwiftUIではSingletonの代わりにEnvironmentを使うことができる紛らわしい文字列をもっと紛らわしくするapple/swift-formatを試す息子にカメラを与えるCoreImage.CIFilterBuiltins月別アーカイブはてなブログをはじめよう!cockscombさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。