mojiru【もじをもじる】

「mojiru」はこのブログ名。「もじる」は著名な言い回しに似せて表現すること。ブログでは、本・映画・グルメなどのヒット商品や気になったトレンドを文字をもじったりもじらなかったしながら、フォントを使ったり使わなかったりしながら取り上げていく。更新頻度は1日1回が基本です。[もじる使用例]1.吾輩は下戸である。お酒は飲めない。2.太閤がまずしかったから。3.棋士の一二三に惨敗。

Flutterの魔法を理解「再実装Flutter」

【スポンサーリンク】

再実装Flutter UIフレームワークをゼロから自作する (技術の泉シリーズ(NextPublishing))

再実装Flutter UIフレームワークをゼロから自作する

インプレスグループで電子出版事業を手がけるインプレスR&Dは、速川湧気氏著書による、技術書典や技術書同人誌博覧会をはじめとした各種即売会や、勉強会・LT会などで頒布された技術同人誌を底本とした商業書籍を刊行し、技術同人誌の普及と発展に貢献することを目指し最新の知見を発信する技術の泉シリーズ2023年1月の新刊として、Flutterの魔法を理解できる「再実装Flutter UIフレームワークをゼロから自作する」を発売した。


速川湧気Profile●2001年埼玉生まれ。慶應義塾志木高等学校卒業。現在、慶應義塾大学理工学部に在籍。2020年に技術サークルComputer Society(KCS)の代表を務める。慶應義塾大学先導研究センターが主催する慶應義塾大学AI・高度プログラミングコンソーシアム(AIC)で「FlutterでWebアプリ開発 初級編」、「WebアプリをFlutterで作ろう」の2講座を担当。


技術の泉シリーズについて
技術の泉シリーズは、技術者の知見のアウトプットである技術同人誌を底本とした、2017年創刊の技術書シリーズとなる。NextPublishingによるスピーディーな編集制作とプリントオンデマンドによる1冊からの印刷製本により、技術の変化に追従しつつ返品や品切れのないサスティナブルな出版モデルを特徴としている。本シリーズを通じて、エンジニアの“知の結晶”である技術同人誌の世界に、より多くの人が触れられるきっかけとなることを目指している。

 


「再実装Flutter UIフレームワークをゼロから自作する」発行主旨・内容紹介

Widgetを組み合わせるだけでさまざまな画面を作ることができるFlutterだが、なぜそのようなことが可能なのか。
「setState()の魔法」で簡単に画面を書き換えられるのがFlutterだが、なぜそのようなことが可能なのか?

「再実装Flutter UIフレームワークをゼロから自作する」では、Flutterを自身で1から実装し直し、「Flume」という新たなUIフレームワークを作り、再実装を通じて、UIフレームワークを支える複雑な世界と、Flutterの高速動作を支える差分更新システムの理解を目指す。

Flutter自体はすでに巨大かつ複雑なソフトウェアであり、隅々まで実装するのは困難。
そのためFlumeでは本質的に重要な機能のみをピックアップして説明・実装することにする。
またFlutterのEngineとフレームワークがどのような関係になっているのか、画面をいかに効率的に更新しているのかについて進み、それらを実装していく。
最終的には、自作のフレームワークでsetState()を使った○×ゲームを作ることができるようになる。

機能を絞るため、もちろん実用に足るフレームワークを作ることは叶わないが、UIの管理手法というのはFlutterだけでなくWebフレームワークやブラウザ、AndroidやiOSなどのネイティブアプリでも共通して利用されている。
まずはシンプルなFlumeの仕様を理解することで、本家Flutterや他のフレームワークのコードを理解する後押しになることを目指している。
「再実装Flutter UIフレームワークをゼロから自作する」は、次世代出版メソッド「NextPublishing」を使用し、出版されている。

 

「再実装Flutter UIフレームワークをゼロから自作する」目次

第1章 画面の表示とSkiaによる描画
第2章 Skiaで遊ぼう
第3章 TaskRunnerの実装
第4章 Layerツリーの実装と表示
第5章 RenderツリーからLayerツリーの構築
第6章 色々なRenderObject
第7章 Elementツリー・Widgetツリーの構築1
第8章 Elementツリー・Widgetツリーの構築2
第9章 テキストの表示
第10章 runAppとWidgetsFlutterBinding
第11章 Engineの隠蔽と画面の更新タイミング
第12章 Engineのキー入力対応
第13章 markNeedsPaint()
第14章 markNeedsLayout()
第15章 WidgetにGenericsを適用しよう
第16章 Widgetツリーの差分計算1
第17章 Widgetツリーの差分計算2
第18章 StatefulWidgetとStatelessWidgetの実装
第19章 ○×ゲームを作ってみよう
第20章 ポインターイベントの処理
第21章 アニメーションの実装
第22章 InheritedWidgetの実装
第23章 ○×ゲームを進化させよう

 


「再実装Flutter UIフレームワークをゼロから自作する」Amazonでの購入はこちら

 

 


「再実装Flutter UIフレームワークをゼロから自作する」楽天市場での購入はこちら※電子書籍版です

 

©mojiru All Rights Reserved. | プライバシーポリシー