FlutterNinjas 2024 ã«åå ããŠããŸããð¥·âš
ããã«ã¡ã¯ïŒ
ããã«ã¡ã¯ïŒkuno ã§ãïŒ
2024/6/13-14ã« docomo R&D OPEN LAB ODAIBA ã§éå¬ããã FlutterNinjas Tokyo 2024 ã«åå ããŠããŸããïŒ
ãšã£ã£ã£ã£ãŠãæé«ãªã€ãã³ãã ã£ãã®ã§ïŒã»ãã·ã§ã³ã®æŠèŠãææ³ãæžããŠãããŸãð
ã»ãã·ã§ã³
White labeling at scale using CI/CD
Speaker: Kevin Suhajda
codemagic ã®æ¹ã«ããçºè¡šã§ããïŒãã¯ã€ãã©ãã«ã®ã¢ããªãæ§ç¯ããŠå ¬éããæé ã«ã€ããŠã®çºè¡šã§ïŒcodemagic ã®å ¬åŒãµã€ãã«ããã¯ã€ãã©ãã«ã®å ¬éæé ã«ã€ããŠèŒã£ãŠããŸãïŒ
ãã¯ã€ãã©ãã«åãšã¯ïŒããäŒæ¥ãç¬èªã§éçºãã補åããµãŒãã¹ãä»ã®äŒç€Ÿãèªåã®ãã©ã³ããšããŠè²©å£²ã§ããæš©å©ã®ããšã§ãïŒïŒA瀟ãéçºããã¢ããªãïŒB瀟ãèªç€Ÿã®ããŽããã¶ã€ã³ã远å ããŠããããB瀟ãéçºãããã®ããã«æäŸããããšãã§ããã¿ãããªïŒ
ãã¯ã€ãã©ãã«åã«ããïŒåäžã®ã³ãŒãããŒã¹ããè€æ°ã®ã«ã¹ã¿ãã€ãºãããã¢ããªã±ãŒã·ã§ã³ãäœæããããšãã§ããŸããïŒã¢ããªã®èŠãç®ïŒãã©ã³ãã»è²ã»ãªãŒãã£ãªã»ãããªãªã©ïŒãèšå®ïŒjson ãã¡ã€ã«ã env ãã¡ã€ã«ïŒã倿Žããå¿ èŠããããŸãïŒãŸã顧客ã®ã¢ã»ãããžã®ã¢ã¯ã»ã¹ïŒgit ãªããžããªãžã®ã¯ããŒã³ïŒAPI ã®äœ¿çšïŒAppStore ã GooglePlay ãªã©ããŸããŸãªã¹ãã¢ãžã®ããã·ã¥ïŒãã¹ã¿ãŒããã®ä»é¢ä¿è ãžã®å éšé åžããâŠâŠãªã©ã®è¡çºãå¿ èŠãšãªããŸãïŒ
ãã®ãããªãã¯ã€ãã©ãã«åãå¹çåããããã«ã¯ïŒCI/CD ã¯ãŒã¯ãããŒã®æé©åãéèŠã§ãããïŒ
æé©åã®ããã«ã¯ãã«ãæéã®ççž®ããã£ãã·ã¥ã®æŽ»çšã API ã®èªååãªã©ãå¿
èŠã§ãïŒããã§ codemagic ã䜿ããšã©ããªã¯ãŒã¯ãããŒã«ãªãïŒã©ããªã¡ãªãããããã®ãã®ç޹ä»ã§ããïŒ
ãµã³ãã«ã®ãªããžããªãæããŠãã ãããŸããð©µ
èªåã¯æ¥ããããªãããã¯ã€ãã©ãã«ãšããçšèªãç¥ããªãã£ãã§ããðãšãŠãè峿·±ãå 容ã§ããïŒ
Rive Animations with Flutter
Speaker: Parth Joshi
Flutter ã§ã¢ãã¡ãŒã·ã§ã³ãã€ããéã«äœ¿ããããŒã« Rive ã«ã€ããŠã»äœ¿ãæ¹ã®ç޹ä»ã§ããïŒ
Rive ã¯éåžžã«é«éã§ïŒã¢ãã¡ãŒã·ã§ã³ã®å€§éšå㯠50KB ãã 200KB ã®éåžžã«å°ããªãµã€ãºã«ãªãããã§ãïŒãŸã Rive ã¢ãã¡ãŒã·ã§ã³ã¯ã©ã®ãã©ãããã©ãŒã ã«ãå¶éãããïŒWebã»Androidã»Flutterã»iOS ãªã©ã§å®è¡ã§ããŸãïŒ
Rive ã®ã³ãã¥ããã£ã¯æŽ»çºã§ïŒå€ãã®ã¢ãã¡ãŒã·ã§ã³ãç¡æã§æäŸãããŠããããã§ãð
Rive ã¢ãã¡ãŒã·ã§ã³ã®äœæã¯ StateMachine ãéããŠè¡ããŸãïŒStateMachine ã§ã¯ã¢ãã¡ãŒã·ã§ã³ã®ããžãã¯ãå®çŸ©ãããè€æ°ã®å
¥åïŒBooleanïŒNumberïŒTriggerïŒãæž¡ãããããããšãã§ãïŒèŠèŠçã«ã¢ãã¡ãŒã·ã§ã³äœæãã§ãããã§ãã£ã¡ãè¯ããã§ããïŒð€
çºè¡šãšé¢ä¿ãªãã§ããïŒRive ã lottie ã«å§å©å£²ã£ãŠãïŒïŒïŒããŒãžããããŸãð
äŒæ©æéã«ïŒãªã¹ããã¥ãŒã®ã¢ã€ãã 1ã€1ã€ã« Rive ã¢ãã¡ãŒã·ã§ã³ãå·®ã蟌ãã§ãããã©ãŒãã³ã¹çã«å€§äžå€«ãçžè«ãã«è¡ããŸããïŒæç»ç¯å²å€ã®ç®æã§ã¯ã¢ãã¡ãŒã·ã§ã³ãããªãããã«ãããåæåã¯1åã®ã¿ã«ãããªã©ã®å·¥å€«ãå¿
èŠã ãããšã話ãããŸããð¬ããããšãããããŸããïŒ
Rive 䜿ã£ãŠããããð¥
Stop Treating Accessibility as an Afterthought: Concrete Steps to Build Inclusive Apps
Speaker: Manuela Sakura Rommel
ã¢ããªéçºã«ãããã¢ã¯ã»ã·ããªãã£ã®éèŠæ§ãšïŒãã®å
·äœçãªå®è£
æ¹æ³ã«ã€ããŠã®çºè¡šã§ããïŒ
ã¢ã¯ã»ã·ããªãã£ã¯é害è
ã ãã§ãªãïŒãã¹ãŠã®äººã«ãšã£ãŠéèŠïŒäŸãã°çæã§è²·ãç©è¢ãæã£ãŠãããšãã«ã¹ããã䜿ãå ŽåïŒçæãã䜿ããªããšããäžæçãªã¢ã¯ã»ã·ããªãã£ã®åé¡ãçºçããŸãããïŒãªã©ðïžïŒã§ããïŒFlutter ã§ã¯ãã®ããã®æ©èœããã¹ãæ¹æ³ãæäŸãããŠãããšã®ããšð
Flutter å ¬åŒããã¥ã¡ã³ãã«ã Accessibility release checklist ãããïŒã¢ããªã®ãªãªãŒã¹ãæºåããéã«èæ ®ãã¹ãäºé ã®äžéšãæžãããŠããŸãïŒ
ã¢ã¯ã»ã·ããªãã£ã®ããã® testWidgets ãçšæãããŠããŠããããªããšæããŸããïŒããããã¹ã¯ãªãŒã³ãªãŒããŒã®ãã¹ããæžããããšã«é©ãð«š
ã¢ã¯ã»ã·ããªãã£ïŒã¡ãããšæèããŠããããšæããŸããïŒâ€ïžâð©¹
Automating Accessibility Adoption in Flutter with Gemini AI
Speaker: Akanksha Singh
ã¢ã¯ã»ã·ããªãã£ã«ã€ããŠã®çºè¡šã¯2ã€ç®ïŒããã«ã¢ã¯ã»ã·ããªãã£ã倧äºããããããŸããïŒ
ãã å€ãã®éçºè
ã¯ïŒã¬ã€ãã©ã€ã³ã®è€éãã«ããã¢ã¯ã»ã·ããªãã£ã®ãã¬ãŒãã³ã°äžè¶³ãèªèäžè¶³ãããïŒã¢ã¯ã»ã·ããªãã£å¯Ÿå¿ã倧å€ãšããåé¡ã«çŽé¢ããŠããŸãïŒãŸããã¹ããšæ€èšŒã®å°é£ããæ¢åã®å€§èŠæš¡ãªã³ãŒãããŒã¹ãžã®çµ±åã®å°é£ãããããŸãïŒ
ããã§ Gemini AI ã䜿çšããŠã¢ã¯ã»ã·ããªãã£å¯Ÿå¿ãå¹çãããã£ã¡ãããâ£ïžãšããçºè¡šã§ããïŒ
å®éã« Gemini AI ãã³ãŒãã®è²ã®ã³ã³ãã©ã¹ãããã§ãã¯ãïŒå¿
èŠã«å¿ããŠã³ãŒããä¿®æ£ããŠããããããŠããŸããïŒäŸ¿å©ãããâŠïŒïŒïŒïŒVSCode ã® Gemini AI ãšã¯ã¹ãã³ã·ã§ã³äœ¿ã£ãŠãŸããïŒ

ãã£ã±ãã¢ããããšäŸ¿å©ãããã£ããæãåããŠè¯ãã§ããâºïž
Workshop: Flutter for Android TV and Apple TV
Speaker: Sasha Denisov
Flutter ã¯æ§ã ãªãã©ãããã©ãŒã ïŒiOSïŒAndroidïŒWebïŒãã¹ã¯ãããïŒåã蟌ã¿ã·ã¹ãã ïŒããµããŒãããŠããŸããïŒä»åã¯ç¹ã« TV ãã©ãããã©ãŒã ïŒAndroid TVïŒApple TVïŒTizenïŒãžã®å¯Ÿå¿ã«ã€ããŠèª¬æãšïŒå®éã«ã©ã€ãã³ãŒãã£ã³ã°ã§ Apple TV ã®ã¢ããªãåãããŠã¿ãçºè¡šã§ããïŒ
flutter create ã§äœã£ããããžã§ã¯ãã«ã¯ïŒ androidãã©ã«ããŒã«ã¯ Android ãããžã§ã¯ããããïŒ ios ãã©ã«ããŒã«ã¯ iOS ã¢ããªã±ãŒã·ã§ã³çšã«çšæããã xcode ãããžã§ã¯ãããããŸãã,Flutter å
¬åŒã¯ TV ç³»ã®å¯Ÿå¿ãããŠãããïŒ Apple TV çšã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã çšã«çšæããã tvOS ãã©ã«ããŒããªãããå®è¡ãã§ããŸããïŒ
ããã§ Flutter ã® Engine ãã«ã¹ã¿ãã€ãºããŠå®è¡ã§ããããã«ãããšã®ããšã§ããïŒïŒð³
ãªããžããªãšãã«ãæžã¿ãšã³ãžã³ãå ¬éããŠãããŠãŸãïŒ
å®éã«ãªã¢ã³ã³ã®ãã€ã³ã¿è¿œè·¡ãããŠãŠãããã£ãã§ãð
äŒæ©æéã«ïŒãå Flutter Engine ãä¿®æ£ããã«ããããã®ã䜿ã£ãŠ flutter run ããŠã¿ãã®ã«ããŸãåããªããŠðããšçžè«ããããŠããããŸããâŠïŒèŠãŠããã£ããšãã Xcode ã«å·®åãè¶³ããŠãªãã£ãã®ã§ããŸããã«ããããšã³ãžã³ã䜿ããŠãªãã£ããœãã§ãïŒããããšãããããŸããïŒåãã©ã€ããŠã¿ãŸãïŒ
My challenge to add Vision OS support in Flutter
Speaker: Aoi Umigishi
Slides: https://speakerdeck.com/umigishiaoi/my-challenge-to-add-vision-os-support-in-flutter
TV OS ã®æ¬¡ã¯ Vision OS ã®çºè¡šã ãð¥œ
çŸç¶ Flutter ã§äœæãã iOS/iPadOS ã¢ããªã Apple Vision ProïŒVision OSïŒäžã§å®è¡ããããšã¯å¯èœã§ããïŒã¢ã¹ãã¯ãæ¯ãåºå®ãããŠãããªã©ã®å¶çŽããããŸãïŒFlutter ã¯ãŠã§ããã©ãŠã¶ã®ããã«ã¢ã¹ãã¯ãæ¯ãèªç±ã«å€æŽã§ããã¬ã¹ãã³ã·ãã¢ããªã®äœæã«åªããŠããããïŒãã®ã¢ã¹æ¯åºå®ã®å¶çŽãåãé€ãããšãã§ããã° Flutter 㯠Vision OS ã¢ããªãäœæããããã®éåžžã«è¯ãããŒã«ã«ãªãããããªãããšã®ããšã§ããïŒ
Vision OS ã¯ä»ã® OS ãšéãèŠç·è¿œè·¡ãªã©ããããŸãïŒãªã®ã§ iOS/macOS ãšã®éããæèããªãã Vision OS çšã®æ°ããåã蟌ã¿ã·ã¹ãã ãäœæããå¿ èŠããããŸãïŒã¡ãªã¿ã« Vision OS ã Darwin ãšãã OS ãåºã«ããŠäœæãããŠããããã§ãð
Flutter ã§ Vision OS ããµããŒããããã® issue ããªãŒãã³ããŠããã®ã§ïŒèªåã upvote ããŠãããŸããðïž
ãã£ã¬ã³ãžããŠã¿ããïŒèªåã«ã¯äœãã§ãããïŒãšããæ·±æãã¯ã©ããªåéã«ãå ±éã§å€§äºãªããšã ãšæãã®ã§ãããè¯ãçºè¡šã ãªãšæããŸããïŒðª
ãšããã§ Vision Pro åºãŠãããã1幎çµã£ãããšã«æ³£ãã¡ããããã§ãð
Flutter Add-to-App: The Good, the Bad and the Ugly
Speaker: Marcin Chudy
Flutter ãæ¢åã®ãã€ãã£ãã¢ããªã«è¿œå ããæ¹æ³ã«ã€ããŠã®çºè¡šïŒ
çŸç¶ïŒäŒæ¥ã«ã¯å€§èŠæš¡ãªãã€ãã£ãã¢ããªãæ¢ã«ååšãïŒãã©ãã¿ãŒã§0ããæžãçŽãã®ã¯é£ããã§ãïŒããã Flutter Add-to-App ã®ç»å Žããçç±ã§ãïŒ
Flutter Add-to-App ã¯ïŒæ¢åã®ã¢ããªã« Flutter module ã view ã远å ããæ¹æ³ã§ãïŒããã«ããã0ããæžãçŽãã®ãé¿ããªãã Flutter ã®å©ç¹ã掻çšã§ããŸãïŒãŸããã€ãã£ããš Flutter ã®å ±åãå¯èœã«ãªããŸãð
Flutter ãšãã€ãã£ãéã®éä¿¡ãè¡ãããŒã«ãšã㊠MethodChannel ããããŸããïŒãã©ãããã©ãŒã éã§ã®ããŒã¿ã®ããåããæååã§è¡ãããããïŒåå®å
šã§ã¯ãããŸããïŒ
ããã§ pigeon ãšããã³ãŒãçæã©ã€ãã©ãªã䜿ãã°ãã©ãããã©ãŒã éã®éä¿¡ãåå®å
šã§è¡ãããããã§ãïŒïŒ
ãŸã Patrol ãšãããã¹ãçšã®ã©ã€ãã©ãªã䜿ãã°ãã¹ãã³ãŒããããã€ãã£ãæ©èœã«ã¢ã¯ã»ã¹ã§ããã®ã§ïŒèš±å¯ãã€ã¢ãã°ãéç¥ïŒWebView ã®æäœïŒããã€ã¹èšå®ã®å€æŽïŒWi-Fi ã®åãæ¿ãâŠãªã©ããŸããŸãªæäœãå®è¡ã§ãããããã§ãâŠïŒãããããâŠâŠâŠ
é¢çœãã©ã€ãã©ãª2ã€ãç¥ããŠå€§æºè¶³ããããã
Riverpod 3.0, the preview
Speaker: Remi Rousselet
ã¿ããªãåŸ
ã¡ããïŒRiverpod ã®éçºè
Remi ããã®çºè¡šïŒïŒïŒïŒïŒïŒ
Riverpod 3.0 ã§ã¯çŽ 50 åã®ãã°ãæ²»ããŠããã©ãŒãã³ã¹æ¹åããŠçŽ 90 åã®åé·ã ã£ãåãæ¶ãå»ã£ããããã§ãïŒãããããïŒïŒð

ã³ãŒãçæãæ©ããªã£ãããªãã©ã€ã³ãã£ãã·ã¥ã»ãªãã©ã€ãçµã¿èŸŒãŸããããšãšã«ããçãã ãããã§ããâŠïŒ
詳ãã㯠heyhey ããããŸãšããŠãã ãã£ãŠãã®ã§ãã¡ããã芧ãã ããðæè¬ã
ãšã«ããã¯ã¯ã¯ã¯ããçºè¡šã§ããðððæ©ã䜿ãããããïŒð
äŒæ©æéã1æ¥ç®ã®çµäºåŸã«ã¬ãã㪠Riverpod ã®å®è£ çžè«ã«ä¹ã£ãŠããããŸããðããã¯ãŸãã©ããã§èšäºã«ããŸãïŒæ¬åœã«ããããšãããããŸããïŒïŒïŒ
Inside Flutter Text
Speaker: Kakeru Nakabachi
Slides: https://speakerdeck.com/b4tchkn/inside-flutter-text
Flutter ã䜿ã£ãã¢ããªéçºã§ã¯ïŒã©ã®ã¢ããªã§ã Text ãŠã£ãžã§ãããå€çšãããŠããŸãïŒæäžã§è€æ°ã®ã¹ã¿ã€ã«ãé©çšããããªã³ã¯ãæŒããããã«ããããã« RichText ãŠã£ãžã§ããã䜿ãããšãå€ããšæããŸãïŒãã㪠Text ã®äžçãèŠãŠãããïŒã£ãŠæãã®çºè¡šã§ããïŒ
Text ãŠã£ãžã§ããã¯æ¥æ¬èªã ãš iOS ãš Android ã§é«ããéã£ãŠãããïŒAndroid ã ãšæ¥æ¬èªãã¡ãã£ãšäžå¯ãã®è¡šç€ºã«ãªã£ãŠããŸãåé¡ããããšã®ããšã§ãã£ã¡ããããâŠãšãªããŸããð
æããèŠãèµ€åã«é»è²äžç·ã®è¡šç€ºïŒTextStyle ãèšå®ãããŠããªãå Žåã«åºããã€ïŒïŒå®çŸ©ã¯ããã«æžãããŠããã ð
å éšå®è£ ãå šéšèªãã§ããã®ã¯ãšã£ãŠã倧å€ãªã®ã§ïŒããç®æã«ã€ããŠè©³ããæ·±ãŒã£ãŠããã¿ã€ãã®çºè¡šã¯å©ãããŸããïŒ
åŸããçŽæ¥ã話ãããŠïŒæ¥æ¬èªãçµµæåã®åé¡ã¡ããã¡ãããããããã£ãŠãªããŸããðContribute ããŠãããããªâŠïŒð¥
Exploring Full-Stack Dart for Firebase Server-Side Development
Speaker: Kosuke Saigusa
Firebase ã䜿ãã°ïŒèªèšŒã»ããŒã¿ããŒã¹ã»éç¥æ©èœãªã©ãç°¡åã«æ§ç¯ã§ããŸããïŒãµãŒããŒãµã€ãã®å®è£ ã¯èªåã§æžãå¿ èŠããããŸãïŒããã§ãµãŒããŒãµã€ãã®ã³ãŒãã Dart ã§æžããã°ã¯ã©ã€ã¢ã³ããšãµãŒããŒã®ã³ãŒããå ±æã§ããã®ã§äŸ¿å©ãªããããªãïŒïŒãšããçºè¡šã§ããïŒ
GCP ã䜿ã£ãŠ1ã€ã®ã¢ããªãå®è£
ããŠããŠïŒå®éã«ãã¿ã³ãæŒãããããã·ã¥éç¥ãé£ãã§ãããã¢ãèŠããŸããð

Cloud Run ã§ Dart ãåãæä»£ãâŠ
ã©ã€ãã©ãªãå ¬éãããŠãŸãïŒãããããïŒçºè¡šåŸã«ãã£ã¡ãã¢ããæ¹§ããŠèªåã詊ãã«ãã£ãŠã¿ãããªããŸããâïž
Monitoring user experience of flutter apps with SLI/SLO
Spaker: Takuma Osada
Slides: https://speakerdeck.com/ostk0069/slowoyong-ite-flutterapuride-yuzati-yan-nopin-zhi-wojian-shi-suru
SLI/SLO ãçè§£ããŠãŠãŒã¶äœéšãåäžããïŒããè¯ãã¢ããªãäœããïŒã®çºè¡šã§ããïŒ
ãŠãŒã¶ãŒãžã£ãŒããŒã¯èããããšãã£ããã©ã¯ãªãã£ã«ã«ãŠãŒã¶ãŒãžã£ãŒããŒïŒCUJïŒ[1]ã¯åããŠèããŸããð
å®äŸãããšã«ïŒã©ãã®ãããŒãã©ãèšæž¬ããŠã©ãã¢ã©ãŒããæããã®ãã説æããŠãããŠãšã£ãŠãããããããã£ããïŒèªåãã¡ãçµã¿èŸŒãããšæããŸããâŠïŒ
Flutter ã®ã©ã€ããµã€ã¯ã«ã ãšã¢ããªãã«ãæ€ç¥ã§ããªãïŒæ€ç¥ã§ãããšããŠãã¯ã©ãã·ã¥ã«ãããã«ã ã£ãå Žåã¡ãããšãã°ãéããããæªããïŒããïŒéå§ã®ã€ãã³ããããŒã«ã«ã«ä¿åããŠãããŠå®äºãããã€ãã³ããæ¶ãïŒããã¢ããªãã«ãããå Žåã¯æ¬¡åèµ·åæã«éå§ã€ãã³ããæ®ã£ãŠããã®ã§ã¢ããªãã«ãããããšãæ€ç¥ã§ãããšããæ¹æ³ã¯ãã£ã¡ãè³¢ãâŠïŒ
ãã£ã£ããç¥èŠããçºè¡šã§ïŒè³æãã£ãšèŠè¿ããŠããããšæããŸããïŒð¥
æéã®é¢ä¿ã§çºè¡šãã岿ãããŠããéšåã§ïŒasync/await ã䜿ãã asyncMap 䜿ãçç±ãæ°ã«ãªã£ãã®ã§å¥é質åããŠã¿ãŸããð
èšæž¬ã¯é çªã倧äºãªã®ã§ïŒéå§ã€ãã³ãã®åã«å®äºã€ãã³ããšããæ¥ã¡ãããªãããã«ïŒ await ã§åŸ
ã€ããã«ããããïŒ UI åŽã§ await 䜿ããããªãã®ã§ã€ãã³ãã asyncMap ãšããŠæã£ãŠãããŠïŒæž¡ã£ãŠããã€ãã³ããèŠãŠéå§ããé çªã«å®è¡ãããããã«ããŠããããã§ãïŒãªãã»ã©ïŒ
ãšããã§è³æãè±èªã𿥿¬èªäž¡æ¹çšæããŠãã®ãæ»ã¬ã»ã©ãããããã£ãã§ãð
Implementing a RAG (Retrieval-Augmented Generation) System in Dart
Speaker: Park JaiChang
LLM ã®åçã«å¯Ÿã㊠RAG ãšããã¢ãããŒãã䜿çšããããšã§ïŒãã粟床ã®é«ãåçãåŸãããšãã§ãããšããçºè¡šã§ããïŒ
å®éã« kpop ã¢ã€ãã«ã® wiki ã® pdf èªã¿èŸŒãããšã§ïŒæ£ããåçãåŸãããšãã§ããïŒãšãããã¢ãèŠããŠãã ãããŸããïŒ
å®éã« LangChain ã©ã€ãã©ãªãå©çšã㊠RAG ã¢ãããŒãã dart ã§å®è£
ããŠããŸããðŠïžð

LangChainïŒããŒã¿å±€ããããŒã¿ãããŒãããŠãã¯ãã«ã¹ãã¢ãžæ ŒçŽãïŒãã®æ
å ±ãããšã«çæã¢ãã«ããåçãçæãããšããå
šããã»ã¹ã管çããŠããŠããããªãšæããŸããïŒ
ãããã dart ã§ langchain æ±ãããšæã£ãããšããªããŠïŒãã£ã±ã python ã§ããã£ãŠæã£ã¡ãã£ãŠãïŒïŒãªããªãé¢çœãçºè¡šã ãªãšæããŸããð
ãŠã kpop ã¢ã€ãã«ã¿ããªãããããããð©·ãŸããã«ã³ãã¡ã¬ã³ã¹ã§æšããèŠãããšã¯ð€
Introducing flx: A New TUI DevTool for Flutter on the Terminal
Speaker: Takeshi Tsukamoto
ã¿ãŒããã«äžã§ïŒãã°ãèŠãã®ã¯ãã¡ããã®ããšïŒ ãããã¯ãŒã¯ãªã¯ãšã¹ããã€ã³ã¹ãã¯ã¿ãŒïŒããã©ãŒãã³ã¹ã¢ãã¿ãŒãªã©ãèŠãã¡ãã CLI flx ãäœã£ãŠã¿ãã®ç޹ä»ã§ããð
ãã¡ããäžèšã¯ devtool ã VSCode ãªã©ã§ãèŠããŸããïŒflx ã§ã¯ CLI ãšããŠããŒããŒãããæãé¢ããã«æäœã§ããã®ãç¹åŸŽïŒemacs ã vim æŽŸã®æ¹ã
ãåã³ããã§ãïŒ
flx ãäœãã«åœãã£ãŠäœ¿çšããã®ã Flutter Daemon ãšããããŒã«ãããã§ãïŒ
Flutter Daemon ãå©çšãããšïŒJSON-RPC ãããã³ã«ãéããŠã¯ã©ã€ã¢ã³ããšéä¿¡ãïŒããããªã¹ã¿ãŒã/ãªããŒããã¢ããªã®çµäºã»éå§çãè¡ãããããã§ãïŒ

ä»åŸ AI ãåãå
¥ããŠãã°è§£æãããããããäºå®ãããã§ãïŒCopilot ãã³ãŒããæžãïŒåºããšã©ãŒã AI
ããã°è§£æããŠæ²»ããŠãããæä»£ã«ãªãã®ãâŠðïŒæ¥œãã¿ïŒ
ãªããšããâŠãããªããŒã«äœããŸããïŒïŒðã¿ãããªçºè¡šïŒWWDC ã¿ããã§ã¯ã¯ã¯ã¯ããŸããðãã£ãããã
ã¡ãªã¿ã«äŒæ©æéã«ã€ã³ã¹ããŒã«ããŠäœ¿ã£ãŠã¿ãŸããð
brew install itome/tap/flx ãã㊠Flutter ãããžã§ã¯ãã®ã«ãŒãã§ flx ã£ãŠã³ãã³ãæã€ã ãã§äœ¿ããŠãã£ã¡ããããâŠ
ïŒåéã®æå
ã§åããªããŠè³ªåãã«ãã£ãã Flutter ãããžã§ã¯ãã®ã«ãŒãã«å±
ãªãã£ãã§ããðæ°ãã€ããâ£ïžããããšãããããŸããïŒïŒ
Building SimCity 2000: Unleashing the Power of Flame Engine and Flutter
Speaker: Abdelrahman Eba
Flame Engine ãš Flutter ã䜿ã£ãŠã¢ã€ãœã¡ããªãã¯åº§æšã䜿ã£ãã²ãŒã éçºãããŠã¿ããïŒã®çºè¡šã§ããïŒ
ã¢ã€ãœã¡ããªãã¯åº§æšãšã¯ïŒ3D ãªããžã§ã¯ãã 2D å¹³é¢ã«èŠèŠçã«è¡šçŸããããã«äœ¿ãããŸããã®ã§ïŒæ°åŠçãªå€æãè¡ãããšã§ 2D ã®ã°ãªããã 3D 颚ã«èŠããããšãã§ãããããã§ãïŒæ·»ä»åçã¿ããã« 2D ã ãã©ã¿ã€ã«ã奥è¡ãããããã«èŠããïŒïŒå
·äœçã«ã¯ X ãš Y 座æšãç·åœ¢ä»£æ°ã®è¡åã䜿ã£ãŠå€æããŠããããã§ãïŒ

ã²ãŒã äœæåå¿è ãããŠïŒæ£çŽæ®éã« Stack ãšã Column ã§æç»ããã®ãšäœãéããã ããã£ãŠæã£ãŠããã§ããã©ïŒFlame Engine ã«ã¯ã²ãŒã åºæã®æ©èœïŒã¢ãã¡ãŒã·ã§ã³ïŒç©çãšã³ãžã³ãªã©ïŒããã£ããã«ã¡ã©ã³ã³ããŒãã³ããæºåãããŠãããããã§ããð¥¹
æåŸã«ãããªã²ãŒã ãã§ãããããããã§ãðããããã
ãã£ãš Flame æ°ã«ãªã£ãŠããã®ã§ãã£ããè§Šã£ãŠã¿ãããšæããŸããïŒð®
http://opengameart.org ã«ããããçŽ æããããããã®ã§ã²ãŒã äœãéã«ã¯èŠããŠã¿ãããšæããŸãïŒ
Building a Gemini AI-Powered Emoji Movie-Guessing Feature in a Production-Ready App with Flutter
Speaker: Renuka Kelkar
Gemini AI ãå©çšããŠããããã®ã¢ããªãäœã£ãŠãŸããïŒ

ããã³ãããå€ããã ãã§å·Šããå³ã¿ããã«äžèº«ããã¶ã€ã³ããã£ããéãã¢ããªã«ãªã£ãŠãŠé¢çœãã£ãã§ãïŒ
ãã®ããã«ããã³ããã£ãŠãšã£ãŠã倧äºã§ïŒããã³ããã«ã¯
- ãã«ãœã : You are a Google Cloud program manager.
- ã¿ã¹ã¯ : Draft an executive summary email to
- ã³ã³ããã¹ã : [persona] based on [details about relevant program docs].
- ãã©ãŒããã : Limit to bullet points.
ãã¡ãããšæç€ºããã®ã倧äºãšã®ããšã§ããïŒïŒå³ã¯äŸæã§ãïŒ
ãŸã AI ã䜿ãäžã§ã¯ãã©ã¹ã¡ã³ãããã€ãã¹ããŒããªã©ã«æ°ãã€ããŸããããšã®ããšã§ããïŒ åœããåã®ããšãããããªãã§ããïŒéä¿¡ããŠäœ¿ããŸãã£ãŠããæãã®ã§ã¡ãããšæ°ãã€ããããšæããŸããïŒ
æåŸã« Firebase Extensions ã䜿çšããŠå®¿é¡çæã¢ããªãå®è£ ãããã¢ããããŸããïŒFirebase Extensions 䜿ã£ãããšãªããã䜿ã£ãŠã¿ããð
ãµã³ãã«ãšããŠèŠããŠãããŠãçµµæåã®ã¢ããªãæ®éã«é¢çœããŠãã£ãŠã¿ããã£ãã§ãðŠð
Dart Isolates: every frame counts for a Performant all
Speaker: Ethiel Adiassa
ã¢ããªã®ããã©ãŒãã³ã¹ã«ã€ããŠã®çºè¡šïŒð¥ããã©ãŒãã³ã¹ã¯
- Energie : ããããªãŒæ¶è²»
- Speed : ããŒã¿åŠçã®éãïŒã¹ã ãŒãºã
- App size : ã¢ããªã®ãµã€ãº
- memory : ã¡ã¢ãªæ¶è²»
ã® 4 ã€ã®ã«ããŽãªãŒã«åããããšãã§ããŸãïŒä»åã®çºè¡šã§ã¯ Speed ã«çŠç¹ãåœãŠãããã§ãïŒ
Frame rate ãšã¯ïŒ1ç§ã®äžã§äœåç»åããã£ããã£ãŸãã¯ã¬ã³ããªã³ã°ããããã®æž¬å®å€ã§ããïŒç§ãã¡ã®ç®ãæ»ããã ãªãã£ãŠæãã®ã¯å°ãªããšãã12FPSãïŒåç»1ç§ã«ã€ãæäœïŒïŒæã®ç»åã§æ§æãããŠããïŒãå¿
èŠãããã§ãïŒãã以äžã ãšã©ã°ãæ»ãããã®æ¬ åŠãæããããããã§ãïŒ
åãããšãã¢ãã€ã«ã¢ããªã«ãèšãïŒãã¬ãŒã ã 60FPS 以äžã§ã¬ã³ããªã³ã°ããããšã¢ããªã¯ã©ã°ãããïŒæ»ããããæ¬ ããŠãããšæããããããã§ãðšFlutter 㯠60FPS ã§ãã¬ãŒã ãã¬ã³ããªã³ã°ããããšãç®æããŠããŸãïŒ
Flutter ã¯ã·ã³ã°ã«ã¹ã¬ããã§ããïŒã¡ã€ã³ã¹ã¬ããã UI ã®æŽæ°ããŠã£ãžã§ããã®ã¬ã³ããªã³ã°ãæ
åœããŠããŸãïŒãªã®ã§è€éãªèšç®ãã¡ã€ã³ã¹ã¬ããã§è¡ã£ãŠããŸããšã¢ããªãã¬ã¹ãã³ã¹ãã«ãããªãïŒããããªãŒæ¶è²»ãå¢ããå¯èœæ§ããããŸãïŒ
ããã§ã¢ã€ãœã¬ãŒãã䜿çšããããšã§ïŒè€éãªèšç®ãå¥ã®ããã»ããµã«å§ä»»ãçµæãã¡ã€ã³ã¹ã¬ããã«è¿ãããšãã§ãïŒããã«ããã¡ã€ã³ã¹ã¬ããã®è² è·ã軜æžãããã©ãŒãã³ã¹ãåäžãããããšãã§ãããããã§ãâ€ïžâð¥
å®éã«ã«ãŒãã®ã€ã©ã¹ããããããåã£ãŠãããã¢ã¢ããªã§ããã©ãŒãã³ã¹ã確èªããŸããïŒã«ãŒããã¿ããããéã«ã¡ã€ã³ã¹ã¬ããã§ JSON ãã¡ã€ã«ãè§£æããŠããã®ãã¢ã€ãœã¬ãŒãã«å§ä»»ããããšã§ïŒããã©ãŒãã³ã¹ãå®éåäžããŠããŸããð

ãã£ã¡ãã¯ã¯ã¯ã¯ããçºè¡šã§ãããâ£ïžããã©ãŒãã³ã¹ãŸãã§å€§äº
Beyond Mobile: Powering Embedded Devices with Flutter
Speaker: Moritz Theis
æ®å¿µãªãããããã¿ã§ããðãŸãã©ããã§èãããâŠïŒ
Maximizing the Power of the Widget Tree: Enhance Your Flutter Apps Without Packages
Speaker: Tsuyoshi Chujo
Slides(?): https://github.com/chooyan-eng/flutter_ninjas_2024
WidgetTree ã®ã話ã§ããïŒð³ãŠã£ãžã§ããããªãŒã®è©³çްãåŠã¶çç±ã¯ïŒFlutter ã®åäœãæ£ç¢ºã«çè§£ãïŒéçºäžã«çŽé¢ããåé¡ã解決ããããã§ãïŒãŸãé©å㪠widget ãéžã¶ããšã§ã¢ããªãããä¿å®å¯èœã§ãã¹ãããããããããšãã§ãããšããå¬ãããããããã§ãïŒ
ä»åã®çºè¡šã§ã¯ widget ãš element ã®é¢ä¿ã BuildContext ãšã¯ïŒãšãã話ããå§ãŸãïŒå®éã«ãæèšã®è²ã倿Žããå Žåã©ãããæ¹æ³ãè¯ããïŒãã±ããªã¬ãŒïŒããŒãæå®ïŒããåå«ã®å€æŽãåæ ããã«ã¯ïŒç¶æ 管çããã±ãŒãžã䜿ãïŒç¥å ã蟿ãïŒããšããå ·äœäŸã瀺ããŠãããŸããâ°
ä¹ éã¯æã«ã¡ã ãŒããããã®æ¬ãèªãã§ããã®ã§ãããšã¹ã©ã¹ã©èããŸããâºïžãã¡ããã£ã¡ãããããã§ãïŒ
ãšããã§ã¹ã©ã€ãã«çµã¿èŸŒãŸãã crop ã®ãã¢ããã£ãããããðä¹ éãã©ã£ãã§ Flutter ã¢ããªäœ¿ã£ãŠçºè¡šããŠã¿ãããšæããŸããð¥
ããŒã¹
money forward
3ã€ã¢ããªãã£ãŠã©ãã Flutter 補ïŒãããã¯äžéš Flutter ãçµã¿èŸŒãŸããŠãïŒã§ãããã£ãŠã¯ã€ãºãããŸããïŒ
å®éã« iOS/Android 端æ«ã§ã¢ããªãè§ŠãããŠããããããæ£è§£ã§ãããã©ïŒå
šéš Android 端æ«ãªã³ãªãŒã ã£ãããã£ãšæ£è§£ã§ããªãã£ããšæããŸãð
codemagic
äºæ¥éïŒãæŒäŒæ©ã»ã»ãã·ã§ã³çµããã®æéã«å
šäœã§ã«ãŒã¬ãããåããŠïŒåœãã£ããè±ªè¯æ¯åããããããšãã倪ã£è
¹ã³ãŒããŒãããŠãããŸããïŒ
ãªããš1æ¥ç®ã«Tã·ã£ããåœãŠãããšãã§ããŸããðãã£ã¡ãé¢çœããŠæ¬²ããã£ãã®ã§ã¡ããå¬ããã§ãâïž
ããšã¯ããŒã¹ã§ãã³ããããšã¹ããã«ãŒãããããŸããïŒãããããæè£å£ã¿ãããªåœ¢ã§ FlutterNinjas ã«ãŽã£ããã§ããð¥·

çµããã«
è±èªåç¡ããããŠäžå®ã§ãããïŒæåèµ·ãã&ChatGPT ã«ãã£ãŠãªããšããªããŸããðïŒããã«ãã£ã¹ã«ãã·ã§ã³ã¯åŸåã¡ãã£ãšå³ããã£ãã§ãðïŒ
1察1ã§åããªã身æ¯ãææ¯ãããæ°ã§ãªããšããªããã©ïŒå
šäœã§è³ªåãããïŒäœäººãã§éãŸã£ãŠäŒè©±ããè±èªåãçç¡ãªã®ã§æ¥å¹ŽãŸã§ã«é 匵ããããšæããŸããâŠïŒð£ïž
çŽæ¥è³ªåãã«è¡ã£ããåãäžå¯§ã«çããŠãã ãã£ãã¹ããŒã«ãŒãããã¡ãïŒããŒãã£ãŒã§ã話ãããŠãã ãã£ãã¿ãªããããããšãããããŸããïŒð»ãŸãã©ããã§ã話ãããŠãã ããïŒ

æåŸã«ïŒã«ã³ãã¡ã¬ã³ã¹ãéå¶ããŠãã ãã£ãæ¹ã
ïŒæ¬åœã«ããããšãããããŸããïŒïŒæ¥å¹Žã楜ãã¿ã«ããŠããŸãðžð¥·ð©µ

ããŸã
Remi ãããã¡ãšã¢ããã®ã¡ã€ãã«ãã§è¡ããŸããð«¶ðð æ¥æ¬ã«æ¥ãŠããæ¹ã ã¯ãã²æ¥æ¬ã楜ããã§ãã£ãŠãã ãããïŒð¯ðµ
-
ãŠãŒã¶ãŒãžã£ãŒããŒãšã¯ãâŒã ã✬æšãéæããããã«âŸãâŒé£ã®ã¿ã¹ã¯ãæãã察ããŠãCUJ ãšã¯ãå€ãã®âœ¬æšãéæããããã«å ±éããã¿ã¹ã¯ããéåžžã«éèŠãªâœ¬æšãéæããããã«âŸãâŒé£ã®æµããæããECãäŸã«æãããšã補åãæ¢ããã«ãŒãã«ååã远å ãããè³Œå ¥ãå®äºãããããããCUJãšããŠæããããå¯èœæ§ã⟌ãããããã§ãïŒã¹ã©ã€ãåç §ïŒ â©ïž
Discussion