ð±[Flutter]ãšã³ãžãã¢ïŒå¹Žç®ã®åå¿è ãçŽïŒãæã§ãªãªãŒã¹ããã¢ãã€ã«ã¢ããªã®å¶äœéçš
èªå·±çŽ¹ä»
倧åŠãåæ¥ããŠä»å¹ŽïŒå¹Žç®ã®ãšã³ãžãã¢ã§ããæ
å ±ç³»ã®åŠéšã§ã¯ãªãã§ããæ
å ±ç³»ã®ãµãŒã¯ã«ã§çŽïŒå¹Žã»ã©ReactNativeã觊ã£ãŠããŸãããçŸåšã¯è¶£å³ã§Blenderã§3Dã¢ããªã³ã°ãããŠã¿ãããããã³ããšã³ããã¡ã€ã³ã«è§Šã£ãŠãŸãã以åããFlutterã§ã®ã¢ãã€ã«ã¢ããªéçºã«èå³ããã£ãã®ã§Androidã¢ããªã®ãªãªãŒã¹ã«ãã£ã¬ã³ãžããŠã¿ãŸãããä»åã®èšäºãZennåæçš¿ã§ãïŒãããããé¡ãããŸãïŒ
ã¢ãã€ã«ã¢ããªã®çŽ¹ä»
ç§ãéçºããã®ã¯ãã¹ãããã¬ãŒã Appãã§ããããã¯ã¹ãããã¿ãã¬ããã®ãã¬ãŒã ïŒããŒã«ïŒã«å¥œããªç»åãçµã¿èŸŒãã ã€ã¡ãŒãžç»åãå¶äœã§ããã¢ãã€ã«ã¢ããªã§ãã
ã¹ãããã¬ãŒã Appã®ç¹åŸŽã¯ãŠãŒã¶ãŒãéžãã ç»åã®ãµã€ãºã«ã¹ããã®ãã¬ãŒã ã調æŽããŠåãããäºãã§ããç¹ã§ããã¹ãããã¬ãŒã ã®çžŠã»æšªã®ãµã€ãºã調æŽã§ããã¹ã©ã€ããŒãèšçœ®ããŠããŸããååã®ãªãªãŒã¹ã ãã§éçºãçµäºãããä»åŸãããããUIã»UXãç®æããŠã¢ããããŒããããŠããäºå®ã§ãã
- ð±Androidã¢ããªã¯ãã¡ãããããŠã³ããŒãå¯èœã§ãïŒfor Android
æ¬ã¢ãã€ã«ã¢ããªéçºã®ãã£ãã
äŒæ¥ã«blenderã§ã¹ããã®ã¢ããªã³ã°ã«ãã£ã¬ã³ãžããŠããŸããããã®æäœæããã¹ããã®3Dã¢ãã«ã¯ä»¥äžã®åç»ã§ã玹ä»ããŠããŸãã
ãã®3Dã¢ãã«ã®ç»é¢ãæ°Žè²äžè²ã§å¯ããã£ãã®ã§ã¹ããã®ç»é¢ç»åãblenderã§ã¯ã蟌ãã§ã¿ãŸãããããããã£ããã«ãã¹ããã®ãã¬ãŒã ïŒããŒã«ïŒã«ç»åãåã蟌ããã¢ãã€ã«ã¢ããªããšããçºæ³ã«ã€ãªãããŸããã
以äžã®ããšãã以åããèå³ã®ãã£ãFlutterã§ãã®ã¢ãã€ã«ã¢ããªã®éçºãå§ããŸããã
éçºæé
éçºæéã¯çŽïŒã«æïŒïŒã«æãšæ°æ¥ïŒã§ããéçºãå§ããåã¯éçºæéã¯ïŒãæçšãæ³å®ããŠããŸããããéçºãå§ããŠã¿ããšæãã®ã»ãã¢ãããŒã·ã§ã³ãç¶ããã»ãŒæ¯æ¥éçºãé²ããäºãåºæ¥ãŸããã
ïŒæ¥ã®äœæ¥æéã¯å¹³æ¥ãïŒïœïŒæéååŸãåæ¥ã¯åæ¥ïœçšã§ããçµæãšããŠïŒãæãšæ°æ¥ã§ã¢ãã€ã«ã¢ããªã®ãªãªãŒã¹ãŸã§è¡ãäºãåºæ¥ãŸããããªãªãŒã¹äœæ¥ã«ã¯æãã®ã»ãæéãããããŸãããã
éçºç°å¢
- WindowsããŒãPC
- android端æ«ïŒãã¹ãçšïŒ
- Flutter 3.10.0
- Dart
- Visual Studio CodeïŒãšãã£ã¿ïŒ
- GitHubïŒbranchäœæã»ããŒãžã§ã³ç®¡çã®ããïŒ
Flutter
Dart
Flutterãéžãã çç±
äœãæ·±ãçç±ããã£ãããã§ã¯ãªãã§ãããFlutterã§ã¢ãã€ã«ã¢ããªãéçºã§ãããšèããããšããã觊ã£ãããšããªãã£ãã®ã§ã奜å¥å¿ã§ãã®æ©äŒã«è§Šã£ãŠã¿ãããšèããŸããïŒ
ãŸããReactNativeãšåæ§ã«ã¯ãã¹ãã©ãããã©ãŒã ã§ã®éçºãè¡ããç¹ãFlutterã®é
åã®äžã€ã ãšæããŸãã
䜿çšããã©ã€ãã©ãª
- ã¢ã€ã³ã³ïŒcupertino_icons,flutter_launcher_icons
- ä¿åïŒpath_provider, shared_preferences
- ã¹ã¯ãªãŒã³ã·ã§ããïŒscreenshot
- ãã€ã¢ãã°ïŒawesome_dialog
- ã¢ãã¡ãŒã·ã§ã³ïŒflutter_animate
- ããã ããã²ãŒã·ã§ã³ïŒcurved_navigation_bar
- ã¹ãã©ãã·ã¥ç»é¢ïŒflutter_native_splash
- ããªããã«ãŒãïŒflip_card
- webãã©ãŠã¶ïŒurl_launcher
- ç»åïŒimage_picker, image_gallery_saver
- æ¥ä»ïŒintl
ã§ããã ãã¢ãã³ãªUIã®ã¢ãã€ã«ã¢ããªãéçºãããã£ãã®ã§ã¢ãã¡ãŒã·ã§ã³ãå€çšããŸããã
awesome_dialogã§ã¯ã¢ãã¡ãŒã·ã§ã³ä»ãã§èŠãç®ã®ãããã€ã¢ãã°ãäœæã§ããŸããã
éçºã§èŠåŽããéšå
éçºã§ç¹ã«èŠåŽããã®ã¯ïŒç¹ã§ããïŒç¹ç®ã¯ãç»é¢äžã§ç»åã®ã¿ãã移åæäœã®å®è£
ãã§ããå
·äœçã«ã¯ä»¥äžã®gifç»åã®ããã«ã¿ããããç»åãç»é¢äžã®å¥œããªäœçœ®ãžç§»åããæ©èœã®å®è£
ã§ããã¿ããã€ãã³ãã®å®è£
ã«ã€ããŠã¯GestureDetectorã§å®è£
ã§ããŸããã
ïŒç¹ç®ã¯ãç»åã«ç»åãéããŠè¡šç€ºããæ¹æ³ãã«ã€ããŠã§ããããã¯Stackã§Widgetãéããäºã§å®è£
ããäºãã§ããŸããã
工倫ããç¹
工倫ããç¹ã¯ã¢ãã¡ãŒã·ã§ã³ã®å®è£
ã§ããç»é¢é·ç§»ãããéã«UIããã§ãŒãã€ã³ã§ãµãã£ãšè¡šç€ºãããä»æ§ãå®è£
ãããã£ãã®ã§ãflutter_animateããã±ãŒãžãå©çšããŸãããã¢ãã¡ãŒã·ã§ã³åŠçãå®è£
ããç»é¢ã¯ä»¥äžã®GIFç»åã®éãã§ãã
ãã€ã¢ãã°ã«é¢ããŠãã¢ãã¡ãŒã·ã§ã³ä»ãã®ããã±ãŒãžïŒawesome_dialogïŒã䜿çšããŸããã以äžã®GIFç»åã®ããã«ã¢ãã³ãªã¢ãã¡ãŒã·ã§ã³ã衚瀺ã§ããŸãããæ¬ã¢ããªå
ã«ãããŠç»åã®ä¿åã»åé€æã¯ããã®ãã€ã¢ãã°ãçµ±äžããŠäœ¿çšããŠããŸãã
ä»åŸã®æ¹è¯ïŒã¢ããããŒãïŒäºå®
-
ãã¬ãŒã 端æ«ç»åã®è¿œå ïŒçŸç¶ã¯é»ã»èµ€ã»éã®ïŒçš®é¡ãããã¬ãŒã ããªãã®ã§ããã¬ãŒã 端æ«ç»åã®çš®é¡ãè¿œå äºå®ã§ãã
-
ãã¥ãŒããªã¢ã«ã®å®è£ ïŒçŸç¶ã§ã¯æ¬ã¢ããªã®äœ¿çšæ¹æ³ã®èª¬æããªãã®ã§tutorial_coach_markããã±ãŒãžãintroduction_screenãªã©ã®ããããã䜿çšããã¥ãŒããªã¢ã«ãå®è£ äºå®ã§ãã
-
ç»åä¿åãªã¹ãäžèŠ§ãæ°ããé ã«è¡šç€ºïŒçŸç¶ã¯ããŒã ç»é¢ã§ãã¢ããªå ã«ä¿åããç»åãªã¹ããå€ãé ã«äžãã衚瀺ããŠããç¶æ³ã§ããäžããæ°ããé ã«ãªã£ãŠããæ¹ãUXçã«è¯ããšæãã®ã§ãã®ç¹ãå®è£ äºå®ã§ãã
æåŸã«
ãããŸã§æ¬èšäºããèªã¿ããã ãããããšãããããŸããããã¢ãã¯ãªåéãããããŸãããããããã¹ãããã¬ãŒã ã«çµã¿èŸŒãã ç»åãäœæãããæ¹ãã¢ãã¯ã¢ãããäœæãããæ¹ã¯ãã²è©ŠããŠé ããã°å¬ããã§ãã
ã»ð±Androidã¢ããªã¯ãã¡ãããããŠã³ããŒãå¯èœã§ãïŒfor Android
Discussion