{"id":957,"date":"2023-04-12T16:04:38","date_gmt":"2023-04-12T07:04:38","guid":{"rendered":"http:\/\/edu.ujhb.org\/?p=957"},"modified":"2023-04-12T16:04:38","modified_gmt":"2023-04-12T07:04:38","slug":"flutter%e5%85%a5%e9%96%80%ef%bc%88%e6%97%a5%e6%9c%ac%e8%aa%9e%e7%89%88%ef%bc%89","status":"publish","type":"post","link":"https:\/\/edu.ujhb.org\/?p=957","title":{"rendered":"Flutter\u5165\u9580\uff08\u65e5\u672c\u8a9e\u7248\uff09"},"content":{"rendered":"\n<p>IT\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30d3\u30c7\u30aa\u3092\u3084\u308a\u305f\u3044\u306e\u3067\u3059\u304c\u3001\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306b\u5fdc\u3058\u3066\u30d3\u30c7\u30aa\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u914d\u7f6e\u3057\u3066\u3044\u305f\u3060\u3051\u307e\u3059\u304b\u3002 Flutter\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u304b\u3089\u59cb\u3081\u307e\u3057\u3087\u3046\u3001\u305d\u3057\u3066\u3042\u306a\u305f\u306f\u79c1\u306b\u30ab\u30d0\u30fc\u3059\u308b\u3082\u306e\u306e\u30ea\u30b9\u30c8\u3092\u4e0e\u3048\u308b\u3053\u3068\u304b\u3089\u59cb\u3081\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<p>\u3082\u3061\u308d\u3093\u3001Flutter\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3067\u30ab\u30d0\u30fc\u3059\u308b\u3082\u306e\u306e\u30ea\u30b9\u30c8\u3092\u30ea\u30b9\u30c8\u3059\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3001\u305d\u3057\u3066\u3053\u3053\u306b\u63d0\u6848\u3055\u308c\u305f\u6982\u8981\u304c\u3042\u308a\u307e\u3059:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u5c0e\u5165\u3068\u74b0\u5883\u69cb\u7bc9\n<ul class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u3068\u306f\u4f55\u304b\u3001\u305d\u306e\u5229\u70b9\u3068\u7279\u5fb4<\/li>\n\n\n\n<li>Flutter\u3068\u95a2\u9023\u30c4\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n\n\n\n<li>Android Studio \u3068 VS Code \u3092\u69cb\u6210\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u57fa\u672c\u7684\u306a\u69cb\u6587\u3068\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\n<ul class=\"wp-block-list\">\n<li>\u30c0\u30fc\u30c8\u8a00\u8a9e\u306e\u57fa\u672c<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30ec\u30a4\u30a2\u30a6\u30c8<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u958b\u767a\u306e\u57fa\u672c\n<ul class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u57fa\u672c\u7684\u306aUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/li>\n\n\n\n<li>\u72b6\u614b\u7ba1\u7406\u3068\u30c7\u30fc\u30bf \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0<\/li>\n\n\n\n<li>\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30a2\u30c9\u30d0\u30f3\u30b9\u30c9\u30c7\u30d9\u30ed\u30c3\u30d7\u30e1\u30f3\u30c8\n<ul class=\"wp-block-list\">\n<li>\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3068\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u52b9\u679c<\/li>\n\n\n\n<li>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u3068\u30c7\u30fc\u30bf\u89e3\u6790<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u56fd\u969b\u5316\u3068\u30ed\u30fc\u30ab\u30ea\u30bc\u30fc\u30b7\u30e7\u30f3<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30cf\u30f3\u30ba\u30aa\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\n<ul class=\"wp-block-list\">\n<li>\u5b8c\u5168\u306a\u30d5\u30e9\u30c3\u30bf\u30fc\u30a2\u30d7\u30ea\u3092\u69cb\u7bc9\u3059\u308b<\/li>\n\n\n\n<li>\u7c21\u5358\u306a\u30ed\u30b0\u30a4\u30f3\u304a\u3088\u3073\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b<\/li>\n\n\n\n<li>\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 API \u3092\u547c\u3073\u51fa\u3057\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 SDK \u3092\u7d71\u5408\u3059\u308b<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u306e\u6982\u8981\u304c\u304a\u5f79\u306b\u7acb\u3066\u3070\u5e78\u3044\u3067\u3059, \u3088\u308a\u8a73\u7d30\u306a\u8aac\u660e\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001\u304a\u6c17\u8efd\u306b\u304a\u554f\u3044\u5408\u308f\u305b\u304f\u3060\u3055\u3044.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u3068\u306f\u4f55\u304b\u3001\u305d\u306e\u5229\u70b9\u3068\u6a5f\u80fd\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306f\u3001Google\u306b\u3088\u3063\u3066\u958b\u767a\u304a\u3088\u3073\u4fdd\u5b88\u3055\u308c\u3066\u3044\u308b\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u958b\u767a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002 Flutter\u306fDart\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u958b\u767a\u8005\u306f\u9ad8\u6027\u80fd\u3067\u5fe0\u5b9f\u5ea6\u306e\u9ad8\u3044\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002 Flutter\u306f\u3001\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u3060\u3051\u3067\u306a\u304f\u3001Web\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3001\u7d44\u307f\u8fbc\u307f\u30c7\u30d0\u30a4\u30b9\u306a\u3069\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3082\u958b\u767a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u5229\u70b9\u3068\u6a5f\u80fd\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u8fc5\u901f\u306a\u958b\u767a<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u306f\u3001\u958b\u767a\u8005\u304c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u8c4a\u5bcc\u306aUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u4e8b\u524d\u306b\u69cb\u7bc9\u3055\u308c\u305f\u30b9\u30bf\u30a4\u30eb\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 Flutter\u306b\u306f\u30db\u30c3\u30c8\u30ea\u30ed\u30fc\u30c9\u6a5f\u80fd\u3082\u3042\u308a\u3001\u958b\u767a\u8005\u306f\u30b3\u30fc\u30c9\u5909\u66f4\u306e\u5f71\u97ff\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u78ba\u8a8d\u3067\u304d\u308b\u305f\u3081\u3001\u958b\u767a\u52b9\u7387\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\u9ad8\u5fe0\u5b9f\u5ea6<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u306f\u72ec\u81ea\u306e\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30a8\u30f3\u30b8\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u306eUI\u3092\u30cd\u30a4\u30c6\u30a3\u30d6\u30a2\u30d7\u30ea\u306e\u3088\u3046\u306b\u898b\u305b\u307e\u3059\u3002 Flutter\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u9593\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4e00\u8cab\u6027\u3092\u9ad8\u3081\u308b\u3001\u30de\u30c6\u30ea\u30a2\u30eb\u30c7\u30b6\u30a4\u30f3\u3068\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306eUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u7f8e\u3057\u3044\u30bb\u30c3\u30c8\u3082\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u306f\u72ec\u81ea\u306e\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u30a8\u30f3\u30b8\u30f3\u3092\u4f7f\u7528\u3057\u3001GPU\u4e0a\u3067\u76f4\u63a5UI\u3092\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u3067\u304d\u308b\u305f\u3081\u3001\u9ad8\u6027\u80fd\u3067\u3059\u3002 Flutter\u306f\u72ec\u81ea\u306e\u30b3\u30f3\u30d1\u30a4\u30e9\u3082\u4f7f\u7528\u3057\u3066\u304a\u308a\u3001Dart\u30b3\u30fc\u30c9\u3092\u30cd\u30a4\u30c6\u30a3\u30d6\u30de\u30b7\u30f3\u30b3\u30fc\u30c9\u306b\u30b3\u30f3\u30d1\u30a4\u30eb\u3067\u304d\u308b\u305f\u3081\u3001\u30a4\u30f3\u30bf\u30d7\u30ea\u30bf\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u4f4e\u4e0b\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u306f\u3001Android\u3001iOS\u3001Web\u3001\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u3001\u7d44\u307f\u8fbc\u307f\u30c7\u30d0\u30a4\u30b9\u306a\u3069\u3001\u8907\u6570\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002 \u3064\u307e\u308a\u3001\u958b\u767a\u8005\u306f\u540c\u3058\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u8907\u6570\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u7528\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3067\u304d\u308b\u305f\u3081\u3001\u958b\u767a\u6642\u9593\u3068\u30b3\u30b9\u30c8\u3092\u524a\u6e1b\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>\u9ad8\u5ea6\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u306f\u30ab\u30b9\u30bf\u30e0UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u63d0\u4f9b\u3057\u3001\u958b\u767a\u8005\u304c\u30cb\u30fc\u30ba\u306b\u5fdc\u3058\u3066UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002 Flutter\u306f\u30ab\u30b9\u30bf\u30e0\u30c6\u30fc\u30de\u3082\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u305f\u3081\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3054\u3068\u306b\u30a2\u30d7\u30ea\u306e\u5916\u89b3\u3092\u5909\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u8981\u7d04\u3059\u308b\u3068\u3001Flutter\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u30cb\u30fc\u30ba\u306b\u9069\u3057\u305f\u3001\u9ad8\u901f\u3067\u5fe0\u5b9f\u5ea6\u304c\u9ad8\u304f\u3001\u9ad8\u6027\u80fd\u3067\u3001\u30af\u30ed\u30b9\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u53ef\u80fd\u306a\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u3068\u95a2\u9023\u30c4\u30fc\u30eb\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u3068\u95a2\u9023\u30c4\u30fc\u30eb\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u3001Flutter\u3092\u4f7f\u3044\u59cb\u3081\u308b\u305f\u3081\u306e\u6700\u521d\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u3059\u3002 Flutter\u3068\u95a2\u9023\u30c4\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u624b\u9806\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fcSDK\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u307e\u305a\u3001\u30d5\u30e9\u30c3\u30bf\u30fcSDK\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Flutter SDK\u306ezip\u30a2\u30fc\u30ab\u30a4\u30d6<a href=\"https:\/\/flutter.dev\/docs\/get-started\/install%EF%BC%89%E4%B8%8A%E4%B8%8B%E8%BD%BDFlutter\">\u306f\u3001Flutter\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8(https:\/\/flutter.dev\/docs\/get-started\/install)\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u307e\u3059\u3002<\/a>&nbsp;\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001\u5727\u7e2e\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u9069\u5207\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u89e3\u51cd\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u74b0\u5883\u5909\u6570\u3092\u69cb\u6210\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u30bf\u30fc\u30df\u30ca\u30eb\u3067Flutter\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001Flutter\u306ebin\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30b7\u30b9\u30c6\u30e0\u306ePATH\u74b0\u5883\u5909\u6570\u306b\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u5177\u4f53\u7684\u306a\u52d5\u4f5c\u30e2\u30fc\u30c9\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<p>(1)\u30bf\u30fc\u30df\u30ca\u30eb\u3067.bashrc\u307e\u305f\u306f.zshrc\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304d\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">bashCopy code<code>export PATH=\"$PATH:[flutter sdk \u7684\u8def\u5f84]\/bin\"\n<\/code><\/pre>\n\n\n\n<p>(2) \u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3001\u8a2d\u5b9a\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">shellCopy code<code>$ source ~\/.bashrc\n<\/code><\/pre>\n\n\n\n<p>\u53c8\u306f<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">shellCopy code<code>$ source ~\/.zshrc\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u3044\u304f\u3064\u304b\u306e\u4f9d\u5b58\u95a2\u4fc2\u304c\u5fc5\u8981\u3067\u3042\u308a\u3001\u6700\u521d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u7279\u5b9a\u306e\u4f9d\u5b58\u95a2\u4fc2\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3001Flutter\u306e\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>Android Studio \u307e\u305f\u306f VS Code \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Flutter \u306f\u3055\u307e\u3056\u307e\u306a\u30a8\u30c7\u30a3\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u958b\u767a\u3067\u304d\u307e\u3059\u304c\u3001Android Studio \u307e\u305f\u306f VS Code \u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002 \u3069\u3061\u3089\u306e\u30a8\u30c7\u30a3\u30bf\u30fc\u3082\u3001Flutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u5f37\u529b\u306b\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"5\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Android Studio\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001Flutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u5177\u4f53\u7684\u306a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u6cd5\u306b\u3064\u3044\u3066\u306f\u3001Android Studio\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u30de\u30fc\u30b1\u30c3\u30c8\u3067Flutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>VS Code \u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001Flutter \u30d7\u30e9\u30b0\u30a4\u30f3\u3068 Dart \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Flutter \u30d7\u30e9\u30b0\u30a4\u30f3\u3068 Dart \u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u3001VS Code \u306e\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u30de\u30fc\u30b1\u30c3\u30c8\u3067\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"6\">\n<li>Flutter\u304c\u6b63\u5e38\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059<\/li>\n<\/ol>\n\n\n\n<p>\u6700\u5f8c\u306b\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066\u3001Flutter\u304c\u6b63\u5e38\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rubyCopy code<code>$ flutter doctor\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001Flutter\u306e\u74b0\u5883\u3092\u8abf\u3079\u3001\u8cea\u554f\u3084\u63d0\u6848\u3092\u51fa\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4e0a\u8a18\u306f\u3001Flutter\u3068\u95a2\u9023\u30c4\u30fc\u30eb\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u624b\u9806\u3067\u3042\u308a\u3001\u3053\u308c\u3089\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u3001Flutter\u3067\u958b\u767a\u3092\u958b\u59cb\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Android Studio\u3068VS Code\u306e\u8a2d\u5b9a\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Android Studio \u3068 VS Code \u306e\u8a2d\u5b9a\u306f\u3001\u4ee5\u4e0b\u3067\u8a73\u3057\u304f\u8aac\u660e\u3059\u308b Flutter \u3092\u4f7f\u7528\u3057\u305f\u958b\u767a\u306b\u304a\u3051\u308b\u91cd\u8981\u306a\u30b9\u30c6\u30c3\u30d7\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a2\u30f3\u30c9\u30ed\u30a4\u30c9\u30b9\u30bf\u30b8\u30aa\u3092\u8a2d\u5b9a\u3059\u308b<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a2\u30f3\u30c9\u30ed\u30a4\u30c9\u30b9\u30bf\u30b8\u30aa\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u307e\u305a\u7b2c\u4e00\u306b\u3001\u3042\u306a\u305f\u306fAndroid Studio\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3001\u3042\u306a\u305f\u306fAndroid\u306e\u516c\u5f0f\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8(https:\/\/developer.android.com\/studio)\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u305d\u308c\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<a href=\"https:\/\/developer.android.com\/studio%EF%BC%89%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%8C%85%EF%BC%8C%E5%B9%B6%E6%8C%89%E7%85%A7%E5%AE%89%E8%A3%85%E5%90%91%E5%AF%BC%E8%BF%9B%E8%A1%8C%E5%AE%89%E8%A3%85%E3%80%82\">\u3059\u308b\u305f\u3081\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30a6\u30a3\u30b6\u30fc\u30c9\u306b\u5f93\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/a><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u30a2\u30f3\u30c9\u30ed\u30a4\u30c9\u30b9\u30bf\u30b8\u30aa\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u5f8c\u3001\u3042\u306a\u305f\u306fFlutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Android Studio\u306e\u30a6\u30a7\u30eb\u30ab\u30e0\u753b\u9762\u307e\u305f\u306f\u30e1\u30a4\u30f3\u753b\u9762\u304b\u3089\u3001[\u69cb\u6210]\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001[\u30d7\u30e9\u30b0\u30a4\u30f3]\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3057\u3001[Flutter]\u3092\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001Android Studio\u3092\u518d\u8d77\u52d5\u3057\u3066\u6709\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3068\u3001Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u6e96\u5099\u304c\u6574\u3044\u307e\u3059\u3002 Android Studio\u306e\u30e1\u30a4\u30f3\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u3001[\u65b0\u3057\u3044Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u958b\u59cb\u3059\u308b]\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u7a2e\u985e\u3068\u540d\u524d\u3092\u9078\u629e\u3057\u3001\u9069\u5207\u306a\u4fdd\u5b58\u5834\u6240\u3092\u9078\u629e\u3057\u3066\u304b\u3089\u3001[\u5b8c\u4e86]\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u305f\u3089\u3001Android Studio\u306e\u30c4\u30fc\u30eb\u30d0\u30fc\u307e\u305f\u306f\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u304b\u3089\u30d5\u30e9\u30c3\u30bf\u30fc\u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002 Flutter \u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3059\u308b\u306b\u306f\u3001\u30c4\u30fc\u30eb \u30d0\u30fc\u307e\u305f\u306f\u30e1\u30cb\u30e5\u30fc \u30d0\u30fc\u306e [\u5b9f\u884c] \u307e\u305f\u306f [\u30c7\u30d0\u30c3\u30b0] \u30dc\u30bf\u30f3\u3092\u9078\u629e\u3057\u3001\u5b9f\u884c\u3059\u308b\u30c7\u30d0\u30a4\u30b9\u307e\u305f\u306f\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u30fc\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">VS \u30b3\u30fc\u30c9\u3092\u69cb\u6210\u3059\u308b<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>VS Code \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/li>\n<\/ol>\n\n\n\n<p>\u6700\u521d\u306bVS Code\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001VS Code\u306e\u516c\u5f0fWeb\u30b5\u30a4\u30c8(https:\/\/code.visualstudio.com\/)\u304b\u3089\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30d1\u30c3\u30b1\u30fc\u30b8<a href=\"https:\/\/code.visualstudio.com\/%EF%BC%89%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85%E5%8C%85%EF%BC%8C%E5%B9%B6%E6%8C%89%E7%85%A7%E5%AE%89%E8%A3%85%E5%90%91%E5%AF%BC%E8%BF%9B%E8%A1%8C%E5%AE%89%E8%A3%85%E3%80%82\">\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30a6\u30a3\u30b6\u30fc\u30c9\u306b\u5f93\u3063\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u307e\u3059\u3002<\/a><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u30c0\u30fc\u30c8\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>VS Code\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u5f8c\u3001\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u30c0\u30fc\u30c8\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 VS Code\u306e\u30a8\u30af\u30b9\u30c6\u30f3\u30b7\u30e7\u30f3\u30de\u30fc\u30b1\u30c3\u30c8\u3067\u300c\u30d5\u30e9\u30c3\u30bf\u30fc\u300d\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u300c\u30c0\u30fc\u30c8\u300d\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u691c\u7d22\u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001VS Code \u3092\u518d\u8d77\u52d5\u3057\u3066\u6709\u52b9\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Flutter\u30d7\u30e9\u30b0\u30a4\u30f3\u3068Dart\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3068\u3001Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b\u6e96\u5099\u304c\u6574\u3044\u307e\u3059\u3002 VS Code\u306e\u30b5\u30a4\u30c9\u30d0\u30fc\u3067\u3001[\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc]\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u3001Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4fdd\u5b58\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u9078\u629e\u3057\u3001\u30bf\u30fc\u30df\u30ca\u30eb\u3067\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">luaCopy code<code>$ flutter create &lt;project_name&gt;\n<\/code><\/pre>\n\n\n\n<p>\u305d\u306e\u4e2d\u3067\u3001&lt;project_name&gt;\u306fFlutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u540d\u524d\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"4\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3059\u308b<\/li>\n<\/ol>\n\n\n\n<p>Flutter \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u305f\u3089\u3001VS Code \u306e\u30bf\u30fc\u30df\u30ca\u30eb\u304b\u3089 Flutter \u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002 \u30bf\u30fc\u30df\u30ca\u30eb\u306eFlutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u3001\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066Flutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">arduinoCopy code<code>$ flutter run\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u3001Flutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u8d77\u52d5\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30b0\u60c5\u5831\u3092\u30bf\u30fc\u30df\u30ca\u30eb\u306b\u51fa\u529b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u308c\u3089\u306f\u3001Android Studio\u3068VS Code\u3092\u69cb\u6210\u3059\u308b\u624b\u9806\u3067\u3042\u308a\u3001\u6b21\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u3001Flutter\u958b\u767a\u306bAndroid Studio\u307e\u305f\u306fVSCode\u306e\u4f7f\u7528\u3092\u958b\u59cb\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Dart\u8a00\u8a9e\u306e\u57fa\u672c\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306e\u516c\u5f0f\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u3042\u308bDart\u306f\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u306e\u9759\u7684\u578b\u4ed8\u3051\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u3042\u308a\u3001Dart\u306e\u57fa\u672c\u3092\u4ee5\u4e0b\u306b\u8a73\u3057\u304f\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5909\u6570\u3068\u30c7\u30fc\u30bf\u578b<\/h2>\n\n\n\n<p>Dart\u3067\u306f\u3001\u5909\u6570\u306fvar\u3001\u52d5\u7684\u3001\u307e\u305f\u306f\u7279\u5b9a\u306e\u30c7\u30fc\u30bf\u578b\u3092\u4f7f\u7528\u3057\u3066\u5ba3\u8a00\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">csharpCopy code<code>var name = 'John';\ndynamic age = 30;\nint height = 180;\ndouble weight = 70.5;\nbool isMarried = false;\n<\/code><\/pre>\n\n\n\n<p>Dart \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30c7\u30fc\u30bf\u578b\u306b\u306f\u3001\u6570\u5024\u578b (\u6574\u6570\u3001\u500d\u7cbe\u5ea6\u6d6e\u52d5\u5c0f\u6570\u70b9\u6570)\u3001\u30d6\u30fc\u30eb\u578b (\u30d6\u30fc\u30eb\u578b)\u3001\u6587\u5b57\u5217\u578b (\u6587\u5b57\u5217)\u3001\u304a\u3088\u3073\u30ea\u30b9\u30c8 (\u30ea\u30b9\u30c8) \u304c\u3042\u308a\u307e\u3059\u3002 Dart\u306f\u3001\u30de\u30c3\u30d7\u3001\u30bb\u30c3\u30c8\u3001\u30eb\u30fc\u30f3\u3001\u30b7\u30f3\u30dc\u30eb\u306a\u3069\u306e\u4ed6\u306e\u30c7\u30fc\u30bf\u578b\u3082\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u6f14\u7b97\u5b50<\/h2>\n\n\n\n<p>Dart \u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u6f14\u7b97\u5b50\u306b\u306f\u3001\u7b97\u8853\u6f14\u7b97\u5b50 (+\u3001-\u3001*, \/, %)\u3001\u95a2\u4fc2\u6f14\u7b97\u5b50 (==, !=, &lt;, &gt;, &lt;=, &gt;=), \u8ad6\u7406\u6f14\u7b97\u5b50 (&amp;&amp;, ||, ! ) \u304a\u3088\u3073\u305d\u306e\u4ed6\u306e\u4e00\u822c\u7684\u306a\u6f14\u7b97\u5b50\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d5\u30ed\u30fc\u5236\u5fa1\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8<\/h2>\n\n\n\n<p>Dart \u306f\u3001if \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3001for \u30eb\u30fc\u30d7\u3001while \u30eb\u30fc\u30d7\u3001switch \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306a\u3069\u306e\u4e00\u822c\u7684\u306a\u30d5\u30ed\u30fc\u5236\u5fa1\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">phpCopy code<code>if (score &gt;= 90) {\n  print('\u4f18\u79c0');\n} else if (score &gt;= 80) {\n  print('\u826f\u597d');\n} else if (score &gt;= 70) {\n  print('\u4e2d\u7b49');\n} else {\n  print('\u4e0d\u53ca\u683c');\n}\n\nfor (int i = 0; i &lt; 10; i++) {\n  print(i);\n}\n\nwhile (count &lt; 5) {\n  print(count);\n  count++;\n}\n\nswitch (value) {\n  case 'A':\n    print('\u4f18\u79c0');\n    break;\n  case 'B':\n    print('\u826f\u597d');\n    break;\n  case 'C':\n    print('\u4e2d\u7b49');\n    break;\n  default:\n    print('\u4e0d\u53ca\u683c');\n    break;\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u6a5f\u80fd<\/h2>\n\n\n\n<p>Dart \u306e\u95a2\u6570\u306f\u3001Function\u3001void\u3001\u307e\u305f\u306f\u7279\u5b9a\u306e\u623b\u308a\u5024\u306e\u578b\u3092\u4f7f\u7528\u3057\u3066\u5ba3\u8a00\u3067\u304d\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u95a2\u6570\u672c\u4f53\u3092\u542b\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">arduinoCopy code<code>void printMessage(String message) {\n  print(message);\n}\n\nint add(int a, int b) {\n  return a + b;\n}\n\ndouble divide(double a, double b) =&gt; a \/ b;\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30af\u30e9\u30b9\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/h2>\n\n\n\n<p>Dart\u306f\u3001\u30af\u30e9\u30b9\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u6982\u5ff5\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u3067\u3059\u3002 class \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30af\u30e9\u30b9\u3092\u5ba3\u8a00\u3057\u3001\u30af\u30e9\u30b9\u5185\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u3068\u30e1\u30bd\u30c3\u30c9\u3092\u5b9a\u7fa9\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">arduinoCopy code<code>class Person {\n  String name;\n  int age;\n\n  Person(this.name, this.age);\n\n  void sayHello() {\n    print('Hello, my name is $name, I am $age years old.');\n  }\n}\n\nPerson p = Person('John', 30);\np.sayHello();\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u4f8b\u5916\u51e6\u7406<\/h2>\n\n\n\n<p>Dart \u306f\u4f8b\u5916\u51e6\u7406\u30e1\u30ab\u30cb\u30ba\u30e0\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u304a\u308a\u3001try-catch \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u4f8b\u5916\u3092\u30ad\u30e3\u30c3\u30c1\u3057\u3001\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u30b9\u30ed\u30fc\u3057\u3066\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">csharpCopy code<code>try {\n  \/\/ \u4ee3\u7801\u5757\n} catch (e) {\n  \/\/ \u5f02\u5e38\u5904\u7406\u4ee3\u7801\n} finally {\n  \/\/ finally\u4ee3\u7801\u5757\n}\n<\/code><\/pre>\n\n\n\n<p>Flutter\u306e\u5b66\u7fd2\u306b\u4e0d\u53ef\u6b20\u306a\u30c0\u30fc\u30c8\u8a00\u8a9e\u306e\u57fa\u672c\u306f\u4ee5\u4e0a\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306f\u3001\u958b\u767a\u8005\u304c\u7f8e\u3057\u3044\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u8c4a\u5bcc\u306a\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b\u3059\u308b\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30d9\u30fc\u30b9\u306eUI\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002 Flutter\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u306e\u8a73\u7d30\u3092\u4ee5\u4e0b\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b5\u30d6\u30a2\u30bb\u30f3\u30d6\u30ea<\/h2>\n\n\n\n<p>Flutter\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30de\u30c6\u30ea\u30a2\u30eb\u30c7\u30b6\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e2\u3064\u306e\u30ab\u30c6\u30b4\u30ea\u306b\u5206\u985e\u3067\u304d\u307e\u3059\u3002 \u30de\u30c6\u30ea\u30a2\u30eb\u30c7\u30b6\u30a4\u30f3\u306f\u3001Google\u304c\u7acb\u3061\u4e0a\u3052\u305f\u30c7\u30b6\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u3067\u3001\u30d5\u30e9\u30c3\u30c8\u3067\u30b7\u30f3\u30d7\u30eb\u3067\u8c4a\u304b\u306a\u8272\u304c\u7279\u5fb4\u3067\u3059\u3002 \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306f\u3001Apple\u304c\u7acb\u3061\u4e0a\u3052\u305f\u30c7\u30b6\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u3067\u3001\u5e73\u5766\u3055\u3001\u30b7\u30f3\u30d7\u30eb\u3055\u3001\u8272\u306e\u5c11\u306a\u3055\u304c\u7279\u5fb4\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30de\u30c6\u30ea\u30a2\u30eb\u30c7\u30b6\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>Flutter\u3067\u306f\u3001\u30de\u30c6\u30ea\u30a2\u30eb\u30c7\u30b6\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u6700\u65b0\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002 \u30de\u30c6\u30ea\u30a2\u30eb \u30c7\u30b6\u30a4\u30f3 \u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306b\u306f\u3001\u6b21\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30c6\u30ad\u30b9\u30c8:\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30ec\u30a4\u30ba\u30c9\u30dc\u30bf\u30f3: \u30ec\u30a4\u30ba\u30c9\u30dc\u30bf\u30f3\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30ec\u30a4\u30ba\u30c9\u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30c8\u30dc\u30bf\u30f3: \u30d5\u30e9\u30c3\u30c8\u30dc\u30bf\u30f3\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30d5\u30e9\u30c3\u30c8\u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30a2\u30a4\u30b3\u30f3\u30dc\u30bf\u30f3: \u30a2\u30a4\u30b3\u30f3\u4ed8\u304d\u306e\u30dc\u30bf\u30f3\u3092\u4f5c\u6210\u3059\u308b\u30a2\u30a4\u30b3\u30f3\u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30c6\u30ad\u30b9\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9: \u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30c6\u30ad\u30b9\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9: 1 \u3064\u4ee5\u4e0a\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3059\u308b\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30e9\u30b8\u30aa: \u8907\u6570\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304b\u3089\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u9078\u629e\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30e9\u30b8\u30aa\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30b9\u30a4\u30c3\u30c1: \u30b9\u30a4\u30c3\u30c1\u306e\u72b6\u614b\u3092\u5207\u308a\u66ff\u3048\u308b\u30b9\u30a4\u30c3\u30c1\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30b9\u30e9\u30a4\u30c0\u30fc: \u5024\u306e\u7bc4\u56f2\u3092\u9078\u629e\u3059\u308b\u30b9\u30e9\u30a4\u30c0\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>AppBar: \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c8\u30c3\u30d7\u30d0\u30fc\u3092\u4f5c\u6210\u3059\u308bAppBar\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30dc\u30c8\u30e0\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc: \u30dc\u30c8\u30e0\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30dc\u30c8\u30e0\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30c9\u30ed\u30ef\u30fc: \u30c9\u30ed\u30ef\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30c9\u30ed\u30ef\u30fc\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30e1\u30cb\u30e5\u30fc\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30b9\u30ca\u30c3\u30af\u30d0\u30fc: \u753b\u9762\u306e\u4e0b\u90e8\u306b\u901a\u77e5\u3092\u8868\u793a\u3059\u308b\u30b9\u30ca\u30c3\u30af\u30d0\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>Flutter\u3067\u306f\u3001\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066iOS\u30b9\u30bf\u30a4\u30eb\u306e\u30a2\u30d7\u30ea\u3092\u3059\u3070\u3084\u304f\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002 \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u30dc\u30bf\u30f3: \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u30c6\u30ad\u30b9\u30c8\u30d5\u30a3\u30fc\u30eb\u30c9: \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30c6\u30ad\u30b9\u30c8\u5165\u529b\u30dc\u30c3\u30af\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30a4\u30c3\u30c1:\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b9\u30a4\u30c3\u30c1\u30a2\u30bb\u30f3\u30d6\u30ea\u3002<\/li>\n\n\n\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30e9\u30a4\u30c0\u30fc: \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30b9\u30e9\u30a4\u30c0\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u8b66\u544a\u30c0\u30a4\u30a2\u30ed\u30b0: \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u8b66\u544a\u30dc\u30c3\u30af\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n\n\n\n<li>\u30af\u30d1\u30c1\u30fc\u30ce\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc: \u30af\u30d1\u30c1\u30fc\u30ce\u30b9\u30bf\u30a4\u30eb\u306e\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u30d0\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3002<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u30ec\u30a4\u30a2\u30a6\u30c8<\/h2>\n\n\n\n<p>Flutter\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u3001\u7dda\u5f62\u30ec\u30a4\u30a2\u30a6\u30c8\u3068\u5f3e\u6027\u30ec\u30a4\u30a2\u30a6\u30c8\u306e2\u3064\u306e\u30ab\u30c6\u30b4\u30ea\u306b\u5206\u985e\u3067\u304d\u307e\u3059\u3002 \u7dda\u5f62\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u6c34\u5e73\u307e\u305f\u306f\u5782\u76f4\u306b\u914d\u7f6e\u3059\u308b\u3053\u3068\u3067\u3059\u3002 \u67d4\u8edf\u306a\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u3001\u753b\u9762\u30b5\u30a4\u30ba\u3068\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30b5\u30a4\u30ba\u306e\u5909\u66f4\u306b\u9069\u5fdc\u3067\u304d\u308b\u7279\u5b9a\u306e\u30eb\u30fc\u30eb\u306b\u5f93\u3063\u3066\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u914d\u7f6e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7dda\u5f62\u30ec\u30a4\u30a2\u30a6\u30c8<\/h3>\n\n\n\n<p>Flutter\u3067\u306f\u3001\u884c\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u5217\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u6c34\u5e73\u65b9\u5411\u3068\u5782\u76f4\u65b9\u5411\u306e\u4e21\u65b9\u3067\u7dda\u5f62\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">scssCopy code<code>Row(\n  children: &lt;Widget&gt;[\n    Icon(Icons.star),\n    Icon(Icons.star),\n    Icon(Icons.star),\n    Icon(Icons.star),\n    Icon(Icons.star),\n  ],\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u4ed6\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>\u30ea\u30cb\u30a2\u30ec\u30a4\u30a2\u30a6\u30c8\u306b\u52a0\u3048\u3066\u3001Flutter\u306f\u6b21\u306e\u3088\u3046\u306a\u4ed6\u306e\u4e00\u822c\u7684\u306a\u30ec\u30a4\u30a2\u30a6\u30c8\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ab\u30b9\u30b1\u30fc\u30c9 \u30ec\u30a4\u30a2\u30a6\u30c8 (\u30b9\u30bf\u30c3\u30af)<\/h3>\n\n\n\n<p>\u30ab\u30b9\u30b1\u30fc\u30c9 \u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u3001Web \u306e z-index \u3068\u540c\u69d8\u306b\u3001\u30b5\u30d6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30ab\u30b9\u30b1\u30fc\u30c9\u65b9\u5f0f\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3057\u307e\u3059\u3002 Flutter \u3067\u306f\u3001\u30b9\u30bf\u30c3\u30af\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30ab\u30b9\u30b1\u30fc\u30c9\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>Stack(\n  children: &lt;Widget&gt;[\n    Positioned(\n      left: 10.0,\n      top: 10.0,\n      child: Text('Hello, world!'),\n    ),\n    Positioned(\n      right: 10.0,\n      top: 10.0,\n      child: Text('Flutter'),\n    ),\n  ],\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d5\u30ed\u30fc\u30ec\u30a4\u30a2\u30a6\u30c8(\u6298\u308a\u8fd4\u3057)<\/h3>\n\n\n\n<p>\u30d5\u30ed\u30fc\u30ec\u30a4\u30a2\u30a6\u30c8\u3067\u306f\u3001\u5358\u8a9e\u3092\u6298\u308a\u8fd4\u3057\u3066\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u30b9\u30da\u30fc\u30b9\u306b\u57fa\u3065\u3044\u3066\u30b5\u30d6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f4d\u7f6e\u3068\u30b5\u30a4\u30ba\u3092\u81ea\u52d5\u7684\u306b\u8abf\u6574\u3067\u304d\u307e\u3059\u3002 Flutter \u3067\u306f\u3001Wrap \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>Wrap(\n  children: &lt;Widget&gt;[\n    Chip(\n      label: Text('Apple'),\n      avatar: Icon(Icons.favorite),\n    ),\n    Chip(\n      label: Text('Banana'),\n      avatar: Icon(Icons.favorite),\n    ),\n    Chip(\n      label: Text('Cherry'),\n      avatar: Icon(Icons.favorite),\n    ),\n    Chip(\n      label: Text('Durian'),\n      avatar: Icon(Icons.favorite),\n    ),\n    Chip(\n      label: Text('Elderberry'),\n      avatar: Icon(Icons.favorite),\n    ),\n  ],\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b0\u30ea\u30c3\u30c9\u30d3\u30e5\u30fc<\/h3>\n\n\n\n<p>\u30b0\u30ea\u30c3\u30c9\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u30b5\u30d6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30b0\u30ea\u30c3\u30c9\u5f62\u5f0f\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3067\u304d\u3001\u30b5\u30d6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u81ea\u52d5\u30b5\u30a4\u30ba\u5909\u66f4\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3059\u3002 Flutter \u3067\u306f\u3001\u30b0\u30ea\u30c3\u30c9\u30d3\u30e5\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30b0\u30ea\u30c3\u30c9\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>GridView.count(\n  crossAxisCount: 2,\n  children: List.generate(10, (index) {\n    return Center(\n      child: Text(\n        'Item $index',\n        style: Theme.of(context).textTheme.headline5,\n      ),\n    );\n  }),\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30ea\u30b9\u30c8 \u30ec\u30a4\u30a2\u30a6\u30c8 (\u30ea\u30b9\u30c8 \u30d3\u30e5\u30fc)<\/h3>\n\n\n\n<p>\u30ea\u30b9\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u3001\u30b5\u30d6\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30ea\u30b9\u30c8\u5f62\u5f0f\u3067\u30ec\u30a4\u30a2\u30a6\u30c8\u3057\u3001\u30b9\u30af\u30ed\u30fc\u30eb\u3092\u30b5\u30dd\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002 Flutter \u3067\u306f\u3001\u30ea\u30b9\u30c8\u30d3\u30e5\u30fc\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30ea\u30b9\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002 \u4f8b\u3048\u3070\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">phpCopy code<code>ListView.builder(\n  itemCount: items.length,\n  itemBuilder: (BuildContext context, int index) {\n    return ListTile(\n      title: Text('${items[index]}'),\n    );\n  },\n)\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306fFlutter\u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u3044\u304f\u3064\u304b\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u65b9\u6cd5\u3067\u3042\u308a\u3001\u7279\u5b9a\u306e\u30b7\u30ca\u30ea\u30aa\u3068\u30cb\u30fc\u30ba\u306b\u5fdc\u3058\u3066\u9069\u5207\u306a\u30ec\u30a4\u30a2\u30a6\u30c8\u65b9\u6cd5\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u958b\u767a\u8005\u304c\u7f8e\u3057\u3044\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u3088\u308a\u8fc5\u901f\u306b\u69cb\u7bc9\u3059\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001\u5404\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306b\u306f\u72ec\u81ea\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u304c\u3042\u308a\u3001\u4f5c\u6210\u3001\u66f4\u65b0\u3001\u7834\u68c4\u306a\u3069\u306e\u6bb5\u968e\u304c\u542b\u307e\u308c\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a2\u30d7\u30ed\u30fc\u30c1\u304c\u4f55\u3092\u3059\u308b\u306e\u304b\u3092\u7406\u89e3\u3059\u308b\u3053\u3068\u306f\u3001\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306e\u72b6\u614b\u3068\u52d5\u4f5c\u3092\u3088\u308a\u9069\u5207\u306b\u5236\u5fa1\u3059\u308b\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u306e\u4e00\u822c\u7684\u306a\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30a2\u30d7\u30ed\u30fc\u30c1\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. createState()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u304c\u4f5c\u6210\u3055\u308c\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002 \u901a\u5e38\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u3044\u304f\u3064\u304b\u306e\u30c7\u30fc\u30bf\u3092\u521d\u671f\u5316\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class MyWidget extends StatefulWidget {\n  @override\n  _MyWidgetState createState() =&gt; _MyWidgetState();\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. initState()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u30c4\u30ea\u30fc\u306b\u633f\u5165\u3055\u308c\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u3001\u901a\u5e38\u3001\u6b21\u306e\u3088\u3046\u306a\u521d\u671f\u5316\u64cd\u4f5c\u304c\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  void initState() {\n    super.initState();\n    \/\/ \u521d\u59cb\u5316\u64cd\u4f5c\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. didChangeDependencies()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4f9d\u5b58\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5909\u66f4\u3055\u308c\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059 (\u305f\u3068\u3048\u3070\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u89aa\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306b\u3088\u3063\u3066\u6e21\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u306a\u3069)\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  void didChangeDependencies() {\n    super.didChangeDependencies();\n    \/\/ \u83b7\u53d6\u7236Widget\u4f20\u9012\u8fc7\u6765\u7684\u6570\u636e\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. \u30d3\u30eb\u30c9()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u69cb\u7bc9\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u3001Widget \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3059\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002 \u3053\u306e\u65b9\u6cd5\u3067\u306f\u3001\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306e\u69cb\u9020\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u901a\u5e38\u3001\u6b21\u306e\u3088\u3046\u306b\u69cb\u7bc9\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  Widget build(BuildContext context) {\n    return Container(\n      child: Text('Hello, World!'),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. didUpdateWidget()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001Widget \u306e\u72b6\u614b\u304c\u5909\u5316\u3057\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059 (\u30e1\u30bd\u30c3\u30c9\u5185\u306e\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u306a\u3069)\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  void didUpdateWidget(MyWidget oldWidget) {\n    super.didUpdateWidget(oldWidget);\n    \/\/ \u66f4\u65b0\u6570\u636e\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6.\u975e\u30a2\u30af\u30c6\u30a3\u30d6\u5316()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u524a\u9664\u3055\u308c\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u3001\u901a\u5e38\u3001\u6b21\u306e\u3088\u3046\u306a\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\u4f5c\u696d\u304c\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u5b9f\u884c\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  void deactivate() {\n    super.deactivate();\n    \/\/ \u6e05\u7406\u5de5\u4f5c\n  }\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">7. \u7834\u68c4()<\/h3>\n\n\n\n<p>\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u306f\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5b8c\u5168\u306b\u524a\u9664\u3055\u308c\u305f\u3068\u304d\u306b\u547c\u3073\u51fa\u3055\u308c\u3001\u901a\u5e38\u3001\u3053\u306e\u30e1\u30bd\u30c3\u30c9\u3067\u6b21\u306e\u3088\u3046\u306a\u30ea\u30bd\u30fc\u30b9\u89e3\u653e\u64cd\u4f5c\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class _MyWidgetState extends State&lt;MyWidget&gt; {\n  @override\n  void dispose() {\n    super.dispose();\n    \/\/ \u8d44\u6e90\u91ca\u653e\u64cd\u4f5c\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306fFlutter\u306e\u4e00\u822c\u7684\u306a\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u30e1\u30bd\u30c3\u30c9\u3067\u3042\u308a\u3001\u7279\u5b9a\u306e\u30cb\u30fc\u30ba\u306b\u5fdc\u3058\u3066\u3053\u308c\u3089\u306e\u30e1\u30bd\u30c3\u30c9\u3092\u5b9f\u88c5\u3059\u308b\u3068\u3001\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306e\u72b6\u614b\u3068\u52d5\u4f5c\u3092\u3088\u308a\u7d30\u304b\u304f\u5236\u5fa1\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u57fa\u672c\u7684\u306aUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306e\u4f5c\u6210\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001UI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u4ecb\u3057\u3066\u5b9f\u88c5\u3055\u308c\u307e\u3059\u3002 Flutter\u306f\u3001\u30c6\u30ad\u30b9\u30c8\u3001\u753b\u50cf\u3001\u30dc\u30bf\u30f3\u3001\u5165\u529b\u30dc\u30c3\u30af\u30b9\u306a\u3069\u3001\u8c4a\u5bcc\u306a\u57fa\u672cUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 Flutter\u3067\u4e00\u822c\u7684\u306a\u3044\u304f\u3064\u304b\u306e\u57fa\u672c\u7684\u306aUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u3001TextStyle\u3092\u4f7f\u7528\u3057\u3066\u30c6\u30ad\u30b9\u30c8\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>Text(\n  'Hello, World!',\n  style: TextStyle(\n    fontSize: 20,\n    fontWeight: FontWeight.bold,\n    color: Colors.black,\n  ),\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u753b\u50cf\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>\u753b\u50cf\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u753b\u50cf\u306e\u8868\u793a\u306b\u4f7f\u7528\u3055\u308c\u3001Image.network \u307e\u305f\u306f Image.asset \u3092\u4ecb\u3057\u3066\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u753b\u50cf\u307e\u305f\u306f\u30ed\u30fc\u30ab\u30eb\u753b\u50cf\u3092\u8aad\u307f\u8fbc\u3080\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rustCopy code<code>Image.network(\n  'https:\/\/picsum.photos\/250?image=9',\n)\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">arduinoCopy code<code>Image.asset(\n  'assets\/images\/flutter_logo.png',\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. \u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>\u30dc\u30bf\u30f3\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u30a4\u30d9\u30f3\u30c8\u3092\u30c8\u30ea\u30ac\u30fc\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u3001\u6b21\u306e\u3088\u3046\u306b\u3001RaisedButton\u3001FlatButton\u3001\u307e\u305f\u306f IconButton \u304b\u3089\u3055\u307e\u3056\u307e\u306a\u30b9\u30bf\u30a4\u30eb\u306e\u30dc\u30bf\u30f3\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>RaisedButton(\n  onPressed: () {\n    \/\/ \u70b9\u51fb\u4e8b\u4ef6\n  },\n  child: Text('Click me'),\n)\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>FlatButton(\n  onPressed: () {\n    \/\/ \u70b9\u51fb\u4e8b\u4ef6\n  },\n  child: Text('Click me'),\n)\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>IconButton(\n  onPressed: () {\n    \/\/ \u70b9\u51fb\u4e8b\u4ef6\n  },\n  icon: Icon(Icons.star),\n)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. \u5165\u529b\u30dc\u30c3\u30af\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/h3>\n\n\n\n<p>\u5165\u529b\u30dc\u30c3\u30af\u30b9\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30c6\u30ad\u30b9\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u5165\u529b\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u3001\u30c6\u30ad\u30b9\u30c8\u5165\u529b\u30dc\u30c3\u30af\u30b9\u306fTextField\u3092\u4f7f\u7528\u3057\u3066\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>TextField(\n  onChanged: (value) {\n    \/\/ \u8f93\u5165\u6846\u5185\u5bb9\u53d1\u751f\u53d8\u5316\u65f6\u89e6\u53d1\u7684\u56de\u8c03\u51fd\u6570\n  },\n  decoration: InputDecoration(\n    hintText: '\u8bf7\u8f93\u5165\u5185\u5bb9',\n  ),\n)\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306f\u3001Flutter\u3067\u4e00\u822c\u7684\u306b\u898b\u3089\u308c\u308b\u3044\u304f\u3064\u304b\u306e\u57fa\u672c\u7684\u306aUI\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3067\u3042\u308a\u3001\u7279\u5b9a\u306e\u30cb\u30fc\u30ba\u306b\u5fdc\u3058\u3066UI\u30c7\u30b6\u30a4\u30f3\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306e\u9069\u5207\u306a\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u9078\u629e\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u72b6\u614b\u7ba1\u7406\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u30a2\u30d7\u30ea\u3067\u306f\u3001\u72b6\u614b\u3068\u306f\u30a2\u30d7\u30ea\u3067\u5909\u5316\u3059\u308b\u30c7\u30fc\u30bf\u307e\u305f\u306f\u5909\u6570\u3092\u6307\u3057\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u5165\u529b\u3057\u305f\u30c6\u30ad\u30b9\u30c8\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u306b\u3088\u3063\u3066\u8fd4\u3055\u308c\u308b\u30c7\u30fc\u30bf\u3001\u753b\u9762\u30b5\u30a4\u30ba\u306a\u3069\u306f\u3059\u3079\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3067\u3059\u3002 Flutter \u306b\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3057\u3066\u30c7\u30fc\u30bf\u306e\u66f4\u65b0\u3068 UI \u306e\u66f4\u65b0\u3092\u53ef\u80fd\u306b\u3059\u308b\u305f\u3081\u306e\u3055\u307e\u3056\u307e\u306a\u72b6\u614b\u7ba1\u7406\u30b7\u30ca\u30ea\u30aa\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u3044\u304f\u3064\u304b\u306e\u72b6\u614b\u7ba1\u7406\u30b7\u30ca\u30ea\u30aa\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3068\u72b6\u614b<\/h3>\n\n\n\n<p>\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3068\u30b9\u30c6\u30fc\u30c8\u306f\u3001Flutter\u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u72b6\u614b\u7ba1\u7406\u30b9\u30ad\u30fc\u30e0\u3067\u3059\u3002 StatefulWidget \u306f\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u81ea\u4f53\u3092\u542b\u307e\u306a\u3044\u5909\u66f4\u53ef\u80fd\u306a\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u8868\u3057\u307e\u3059\u304c\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4ecb\u3057\u3066\u30a2\u30af\u30bb\u30b9\u304a\u3088\u3073\u5909\u66f4\u3067\u304d\u307e\u3059\u3002 \u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3068\u30b9\u30c6\u30fc\u30c8\u306f\u901a\u5e38\u3001\u6b21\u306e\u3088\u3046\u306b\u30da\u30a2\u3067\u63d0\u4f9b\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>class MyWidget extends StatefulWidget {\n  @override\n  _MyWidgetState createState() =&gt; _MyWidgetState();\n}\n\nclass _MyWidgetState extends State&lt;MyWidget&gt; {\n  int _counter = 0;\n\n  void _incrementCounter() {\n    setState(() {\n      _counter++;\n    });\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: Center(\n        child: Column(\n          mainAxisAlignment: MainAxisAlignment.center,\n          children: &lt;Widget&gt;[\n            Text('$_counter'),\n            RaisedButton(\n              onPressed: _incrementCounter,\n              child: Text('Increment'),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001MyWidget \u306f\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3067\u3042\u308a\u3001\u5bfe\u5fdc\u3059\u308b State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8_MyWidgetState\u3001\u72b6\u614b\u30c7\u30fc\u30bf_counter\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u30e1\u30bd\u30c3\u30c9_incrementCounter\u3002 \u30e6\u30fc\u30b6\u30fc\u304c\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001_incrementCounter \u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u304c\u66f4\u65b0\u3055\u308c\u3001setState \u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066 Flutter \u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306b UI \u3092\u518d\u69cb\u7bc9\u3059\u308b\u3088\u3046\u306b\u901a\u77e5\u3055\u308c\u3001UI \u306e\u66f4\u65b0\u304c\u5b9f\u73fe\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc<\/h3>\n\n\n\n<p>\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306f\u3001\u30c7\u30fc\u30bf\u3092\u5171\u6709\u3059\u308b\u305f\u3081\u306e\u30b7\u30f3\u30d7\u30eb\u3067\u3042\u308a\u306a\u304c\u3089\u5f37\u529b\u306a\u65b9\u6cd5\u3092\u63d0\u4f9b\u3059\u308b\u8efd\u91cf\u306e\u72b6\u614b\u7ba1\u7406\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002 \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3067\u306f\u3001\u30c7\u30fc\u30bf\u306f\u7d99\u627f\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u4ecb\u3057\u3066\u5171\u6709\u3055\u308c\u307e\u3059\u3002 \u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30ab\u30a6\u30f3\u30bf\u30fc\u3092\u5171\u6709\u3059\u308b\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>class Counter with ChangeNotifier {\n  int _count = 0;\n\n  int get count =&gt; _count;\n\n  void increment() {\n    _count++;\n    notifyListeners();\n  }\n}\n\nclass MyWidget extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return ChangeNotifierProvider(\n      create: (context) =&gt; Counter(),\n      child: Scaffold(\n        body: Center(\n          child: Consumer&lt;Counter&gt;(\n            builder: (context, counter, child) {\n              return Column(\n                mainAxisAlignment: MainAxisAlignment.center,\n                children: &lt;Widget&gt;[\n                  Text('${counter.count}'),\n                  RaisedButton(\n                    onPressed: () {\n                      counter.increment();\n                    },\n                    child: Text('Increment'),\n                  ),\n                ],\n              );\n            },\n          ),\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001Counter\u306f\u30ab\u30a6\u30f3\u30bf\u30fc\u306e\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u7ba1\u7406\u3059\u308b\u30c7\u30fc\u30bf\u30e2\u30c7\u30eb\u3067\u3059\u3002 \u3092\u4f7f\u7528\u3057\u3066\u30ab\u30a6\u30f3\u30bf\u30fc \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3001\u30b5\u30d6\u30c4\u30ea\u30fc\u5185\u306e\u3059\u3079\u3066\u306e\u30d1\u30fc\u30c4\u306b\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u30b5\u30d6\u30a2\u30bb\u30f3\u30d6\u30ea\u3067\u3001\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30fc\u3092\u4f7f\u7528\u3057\u3066 Counter \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3057\u3001Counter \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u5909\u66f4\u3092\u30ea\u30c3\u30b9\u30f3\u3057\u307e\u3059\u3002 \u30e6\u30fc\u30b6\u30fc\u304c\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001Counter \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30a4\u30f3\u30af\u30ea\u30e1\u30f3\u30c8 \u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u304c\u66f4\u65b0\u3055\u308c\u3001notifyListeners \u30e1\u30bd\u30c3\u30c9\u304c\u547c\u3073\u51fa\u3055\u308c\u3066\u3001\u518d\u69cb\u7bc9\u3055\u308c\u308b Counter \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u4f9d\u5b58\u3059\u308b\u3059\u3079\u3066\u306e\u90e8\u5206\u306b\u901a\u77e5\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.\u30ea\u30c0\u30c3\u30af\u30b9<\/h3>\n\n\n\n<p>Redux\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30ea\u30c0\u30c3\u30af\u30b9\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Redux \u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u72b6\u614b\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3042\u308a\u3001Flux \u30d9\u30fc\u30b9\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u30d0\u30ea\u30a2\u30f3\u30c8\u3067\u3042\u308a\u3001\u5358\u65b9\u5411\u306e\u30c7\u30fc\u30bf\u30d5\u30ed\u30fc\u306e\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002 Flutter\u3067\u306f\u3001Redux\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u4e2d\u592e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u4fdd\u5b58\u3057\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30c8\u30ea\u30ac\u30fc\u3057\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u307e\u3059\u3002 Redux\u306f\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u306b\u4f9d\u5b58\u3059\u308b\u3059\u3079\u3066\u306e\u90e8\u5206\u306b\u518d\u69cb\u7bc9\u3092\u901a\u77e5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>Redux\u306e3\u3064\u306e\u30b3\u30a2\u30b3\u30f3\u30bb\u30d7\u30c8\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.\u30b9\u30c8\u30a2<\/h3>\n\n\n\n<p>\u30b9\u30c8\u30a2\u306fRedux\u306e\u4e2d\u592e\u30ea\u30dd\u30b8\u30c8\u30ea\u3067\u3042\u308a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u30c7\u30fc\u30bf\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u30b9\u30c8\u30a2\u306f\u3001getState \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u3001\u30c7\u30a3\u30b9\u30d1\u30c3\u30c1 \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u30c8\u30ea\u30ac\u30fc\u3057\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3067\u304d\u307e\u3059\u3002 \u30b9\u30c8\u30a2\u306f\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u306b\u4f9d\u5b58\u3059\u308b\u3059\u3079\u3066\u306e\u90e8\u5206\u306b\u518d\u69cb\u7bc9\u3092\u901a\u77e5\u3059\u308b\u305f\u3081\u306b\u3001\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u4ecb\u3057\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u306e\u5909\u66f4\u3092\u30ea\u30c3\u30b9\u30f3\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001redux\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u30b9\u30c8\u30a2\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cssCopy code<code>final store = Store&lt;AppState&gt;(\n  appReducer,\n  initialState: AppState(),\n);\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001store \u3068\u3044\u3046\u540d\u524d\u306e\u30b9\u30c8\u30a2 \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4f5c\u6210\u3055\u308c\u3001AppState \u306f\u72b6\u614b\u30c7\u30fc\u30bf\u306e\u578b\u3067\u3042\u308a\u3001appReduce \u306f\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u7d14\u7c8b\u306a\u95a2\u6570\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u30a2\u30af\u30b7\u30e7\u30f3<\/h3>\n\n\n\n<p>\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u3001\u72b6\u614b\u306e\u5909\u5316\u3092\u8a18\u8ff0\u3059\u308bRedux\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3042\u308a\u3001\u30bf\u30a4\u30d7\u3068\u3044\u304f\u3064\u304b\u306e\u30c7\u30fc\u30bf\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u30c8\u30ea\u30ac\u30fc\u3055\u308c\u3001\u30b9\u30c8\u30a2\u306b\u9001\u4fe1\u3055\u308c\u307e\u3059\u3002 \u30b9\u30c8\u30a2\u306f\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u7a2e\u985e\u3068\u30c7\u30fc\u30bf\u306b\u57fa\u3065\u3044\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u306b\u4f9d\u5b58\u3059\u308b\u3059\u3079\u3066\u306e\u90e8\u5206\u306b\u518d\u69cb\u7bc9\u3092\u901a\u77e5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001redux\u30e9\u30a4\u30d6\u30e9\u30ea\u306eAction\u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3057\u3066\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">kotlinCopy code<code>class IncrementAction {\n  final int amount;\n\n  IncrementAction(this.amount);\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001\u5897\u52a0\u3057\u305f\u91d1\u984d\u3092\u8a18\u8ff0\u3059\u308b\u91d1\u984d\u5c5e\u6027\u3092\u542b\u3080 IncrementAction \u3068\u3044\u3046\u30a2\u30af\u30b7\u30e7\u30f3 \u30af\u30e9\u30b9\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.\u6e1b\u901f\u6a5f<\/h3>\n\n\n\n<p>Reducer\u306f\u3001\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306eRedux\u306e\u7d14\u7c8b\u306a\u95a2\u6570\u3067\u3042\u308a\u3001\u73fe\u5728\u306e\u72b6\u614b\u30c7\u30fc\u30bf\u3068\u30a2\u30af\u30b7\u30e7\u30f3\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u3001\u65b0\u3057\u3044\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u8fd4\u3057\u307e\u3059\u3002 Reduce\u95a2\u6570\u3067\u306f\u3001\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u7a2e\u985e\u3068\u8fd4\u3055\u308c\u308b\u65b0\u3057\u3044\u72b6\u614b\u30c7\u30fc\u30bf\u306b\u5f93\u3063\u3066\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001redux\u30e9\u30a4\u30d6\u30e9\u30ea\u306ecombineReduce\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u8907\u6570\u306e\u30ec\u30c7\u30e5\u30fc\u30b5\u30fc\u95a2\u6570\u30921\u3064\u306e\u30ec\u30c7\u30e5\u30fc\u30b5\u30fc\u95a2\u6570\u306b\u7d50\u5408\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">csharpCopy code<code>AppState appReducer(AppState state, dynamic action) {\n  return AppState(\n    counter: counterReducer(state.counter, action),\n    \/\/ other reducers\n  );\n}\n\nint counterReducer(int state, dynamic action) {\n  if (action is IncrementAction) {\n    return state + action.amount;\n  }\n  return state;\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001appReduce \u306f\u8907\u6570\u306e\u30ec\u30b8\u30e5\u30fc\u30b5\u30fc\u95a2\u6570\u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u30ec\u30c7\u30e5\u30fc\u30b5\u30fc\u95a2\u6570\u3067\u3042\u308a\u3001counterReduce \u306f\u30ab\u30a6\u30f3\u30bf\u30fc\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3055\u308c\u308b\u30ec\u30b8\u30e5\u30fc\u30b5\u30fc\u95a2\u6570\u3067\u3059\u3002 \u3092\u53d7\u3051\u53d6\u308b\u3068\u3001\u73fe\u5728\u306e\u30ab\u30a6\u30f3\u30bf\u30fc\u5024\u304c\u30a2\u30af\u30b7\u30e7\u30f3\u91d1\u984d\u306b\u8ffd\u52a0\u3055\u308c\u3001\u65b0\u3057\u3044\u72b6\u614b\u30c7\u30fc\u30bf\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u5168\u4f53\u3068\u3057\u3066\u3001Redux\u306f\u3001Flutter\u958b\u767a\u8005\u304c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u30c7\u30fc\u30bf\u3092\u52b9\u679c\u7684\u306b\u7ba1\u7406\u3057\u3001\u30c7\u30fc\u30bf\u306e\u66f4\u65b0\u3068UI\u306e\u66f4\u65b0\u3092\u5b9f\u88c5\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u5f37\u529b\u306a\u72b6\u614b\u7ba1\u7406\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u3059\u3002 Redux\u3092\u5229\u7528\u3059\u308b\u306b\u306f\u4e00\u5b9a\u306e\u5b66\u7fd2\u30b3\u30b9\u30c8\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001Redux\u306e\u57fa\u672c\u7684\u306a\u8003\u3048\u65b9\u3084\u4f7f\u3044\u65b9\u306b\u6163\u308c\u308c\u3070\u958b\u767a\u52b9\u7387\u3092\u4e0a\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u30c7\u30fc\u30bf\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306e\u30c7\u30fc\u30bf\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306f\u3001\u30c7\u30fc\u30bf\u30e2\u30c7\u30eb\u3068\u30e6\u30fc\u30b6\u30fc\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9(UI)\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u30d0\u30a4\u30f3\u30c9\u3057\u3066\u3001\u30c7\u30fc\u30bf\u306e\u81ea\u52d5\u66f4\u65b0\u3092\u5b9f\u73fe\u3059\u308b\u3053\u3068\u3067\u3059\u3002 \u30e2\u30c7\u30eb\u5185\u306e\u30c7\u30fc\u30bf\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001UI \u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u304c\u81ea\u52d5\u7684\u306b\u66f4\u65b0\u3055\u308c\u3001\u6700\u65b0\u306e\u30c7\u30fc\u30bf\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter \u306b\u306f\u3001\u6b21\u306e\u3088\u3046\u306a\u3055\u307e\u3056\u307e\u306a\u30c7\u30fc\u30bf\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u65b9\u6cd5\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8<\/h3>\n\n\n\n<p>StatelessWidget \u306f\u3001\u30c7\u30fc\u30bf \u30e2\u30c7\u30eb\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u3001\u30c7\u30fc\u30bf \u30e2\u30c7\u30eb\u306b\u57fa\u3065\u3044\u3066 UI \u3092\u69cb\u7bc9\u3059\u308b\u4e0d\u5909\u306e\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3067\u3059\u3002 \u30c7\u30fc\u30bf \u30e2\u30c7\u30eb\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9 \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u304c\u518d\u69cb\u7bc9\u3055\u308c\u3001UI \u304c\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u5b9f\u88c5\u3059\u308b\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class MyWidget extends StatelessWidget {\n  final int count;\n\n  MyWidget({required this.count});\n\n  @override\n  Widget build(BuildContext context) {\n    return Text('Count: $count');\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001MyWidget \u306f count \u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u53d7\u3051\u53d6\u308b\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3067\u3059\u3002 \u30ab\u30a6\u30f3\u30c8\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001\u30de\u30a4\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u304c\u518d\u69cb\u7bc9\u3055\u308c\u3001UI \u304c\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8<\/h3>\n\n\n\n<p>\u306f\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3059\u308b State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u542b\u3080\u5909\u66f4\u53ef\u80fd\u306a\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3067\u3059\u3002 \u30c7\u30fc\u30bf \u30e2\u30c7\u30eb\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001StatefulWidget \u306f\u5909\u66f4\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092 State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u6e21\u3057\u3001State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b UI \u306e\u66f4\u65b0\u3092\u8981\u6c42\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u4f7f\u7528\u3057\u305f\u30c7\u30fc\u30bf \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class MyWidget extends StatefulWidget {\n  final int count;\n\n  MyWidget({required this.count});\n\n  @override\n  _MyWidgetState createState() =&gt; _MyWidgetState();\n}\n\nclass _MyWidgetState extends State&lt;MyWidget&gt; {\n  int _count = 0;\n\n  @override\n  Widget build(BuildContext context) {\n    return Text('Count: $_count');\n  }\n\n  @override\n  void didUpdateWidget(MyWidget oldWidget) {\n    super.didUpdateWidget(oldWidget);\n    if (oldWidget.count != widget.count) {\n      setState(() {\n        _count = widget.count;\n      });\n    }\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001MyWidget \u306f\u3001\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3059\u308b _MyWidgetState \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u542b\u3080 count \u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u53d7\u3051\u53d6\u308b\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3067\u3059\u3002 \u30ab\u30a6\u30f3\u30c8\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001MyWidget \u306f\u5909\u66f4\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092 State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u6e21\u3057\u3001_State \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b UI \u306e\u66f4\u65b0\u3092\u8981\u6c42\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.\u30b9\u30c8\u30ea\u30fc\u30e0\u30d3\u30eb\u30c0\u30fc<\/h3>\n\n\n\n<p>\u306f\u3001\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u5b9f\u88c5\u3059\u308b\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3067\u3042\u308a\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u3057\u3066\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u53d7\u3051\u53d6\u308a\u3001\u30b9\u30c8\u30ea\u30fc\u30e0\u5185\u306e\u30c7\u30fc\u30bf\u304b\u3089 UI \u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002 \u30b9\u30c8\u30ea\u30fc\u30e0\u5185\u306e\u30c7\u30fc\u30bf\u304c\u5909\u66f4\u3055\u308c\u308b\u3068\u3001UI \u306f\u81ea\u52d5\u7684\u306b\u66f4\u65b0\u3055\u308c\u3001\u6700\u65b0\u306e\u30c7\u30fc\u30bf\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001StreamBuilder \u3092\u4f7f\u7528\u3057\u305f\u30c7\u30fc\u30bf \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">kotlinCopy code<code>class MyWidget extends StatelessWidget {\n  final Stream&lt;int&gt; countStream;\n\n  MyWidget({required this.countStream});\n\n  @override\n  Widget build(BuildContext context) {\n    return StreamBuilder&lt;int&gt;(\n      stream: countStream,\n      builder: (context, snapshot) {\n        if (snapshot.hasData) {\n          return Text('Count: ${snapshot.data}');\n        } else {\n          return Text('Loading...');\n        }\n      },\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001MyWidget \u306f Stream \u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u53d7\u3051\u53d6\u308b\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3067\u3042\u308a\u3001\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3068\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30da\u30fc\u30b8\u9593\u306e\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3068\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u3092\u7ba1\u7406\u3059\u308b\u305f\u3081\u306e\u91cd\u8981\u306a\u6982\u5ff5\u3067\u3059\u3002 \u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30da\u30fc\u30b8\u306e\u30b9\u30bf\u30c3\u30af\u3092\u7ba1\u7406\u3057\u3001\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306f\u3042\u308b\u30da\u30fc\u30b8\u304b\u3089\u5225\u306e\u30da\u30fc\u30b8\u3078\u306e\u79fb\u52d5\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0<\/h3>\n\n\n\n<p>\u30eb\u30fc\u30c8\u306f\u3001\u30eb\u30fc\u30c8\u540d\u307e\u305f\u306f\u30d1\u30b9\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5185\u306e\u30da\u30fc\u30b8\u3067\u3059\u3002 Flutter\u3067\u306f\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306fNavigator\u306b\u3088\u3063\u3066\u7ba1\u7406\u3055\u308c\u3001Navigator\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u5185\u306e\u30da\u30fc\u30b8\u306e\u30b9\u30bf\u30c3\u30af\u3092\u7ba1\u7406\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u7570\u306a\u308b\u30da\u30fc\u30b8\u9593\u3092\u79fb\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>Flutter \u306b\u306f\u3001\u540d\u524d\u4ed8\u304d\u30eb\u30fc\u30c8\u3068\u533f\u540d\u30eb\u30fc\u30c8\u306e 2 \u7a2e\u985e\u306e\u30eb\u30fc\u30c8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30eb\u30fc\u30c8\u306b\u540d\u524d\u3092\u4ed8\u3051\u308b<\/h4>\n\n\n\n<p>\u540d\u524d\u4ed8\u304d\u30eb\u30fc\u30c8\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u540d\u524d\u3092\u4f7f\u7528\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u308b\u30eb\u30fc\u30c8\u3067\u3059\u3002 \u3053\u308c\u3089\u306f\u901a\u5e38\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8d77\u52d5\u6642\u306b\u4e8b\u524d\u5b9a\u7fa9\u3055\u308c\u3001Navigator.pushNamed() \u30e1\u30bd\u30c3\u30c9\u3092\u4ecb\u3057\u3066\u30a2\u30af\u30bb\u30b9\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001\u540d\u524d\u4ed8\u304d\u30eb\u30fc\u30c8\u306e\u4f7f\u7528\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">typescriptCopy code<code>class MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      initialRoute: '\/',\n      routes: {\n        '\/': (context) =&gt; HomePage(),\n        '\/second': (context) =&gt; SecondPage(),\n        '\/third': (context) =&gt; ThirdPage(),\n      },\n    );\n  }\n}\n\nclass HomePage extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: Text('Home')),\n      body: Center(\n        child: ElevatedButton(\n          onPressed: () =&gt; Navigator.pushNamed(context, '\/second'),\n          child: Text('Go to second page'),\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001MyApp \u306f \/\u3001\/2 \u756a\u76ee\u3001\u304a\u3088\u3073 \/3 \u756a\u76ee\u306e 3 \u3064\u306e\u540d\u524d\u4ed8\u304d\u30eb\u30fc\u30c8\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059\u3002 \u30db\u30fc\u30e0\u30da\u30fc\u30b8\u306b\u306f\u3001\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001Navigator.pushNamed() \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30e6\u30fc\u30b6\u30fc\u3092 \/second \u30eb\u30fc\u30c8\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u533f\u540d\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0<\/h4>\n\n\n\n<p>\u533f\u540d\u30eb\u30fc\u30c8\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u540d\u524d\u304c\u306a\u3044\u30eb\u30fc\u30c8\u3067\u3059\u3002 \u3053\u308c\u3089\u306f\u901a\u5e38\u3001Navigator.push() \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u52d5\u7684\u306b\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001\u533f\u540d\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u4f7f\u7528\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lessCopy code<code>class MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      home: HomePage(),\n    );\n  }\n}\n\nclass HomePage extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(title: Text('Home')),\n      body: Center(\n        child: ElevatedButton(\n          onPressed: () =&gt; Navigator.push(\n            context,\n            MaterialPageRoute(builder: (context) =&gt; SecondPage()),\n          ),\n          child: Text('Go to second page'),\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001HomePage \u306b\u306f\u3001\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001Navigator.push() \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u533f\u540d\u30eb\u30fc\u30c8\u3092\u52d5\u7684\u306b\u4f5c\u6210\u3057\u3001\u30e6\u30fc\u30b6\u30fc\u3092\u305d\u306e\u30eb\u30fc\u30c8\u306b\u79fb\u52d5\u3059\u308b\u30dc\u30bf\u30f3\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u822a\u6cd5<\/h3>\n\n\n\n<p>\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3068\u306f\u3001\u3042\u308b\u30da\u30fc\u30b8\u304b\u3089\u5225\u306e\u30da\u30fc\u30b8\u306b\u79fb\u52d5\u3059\u308b\u52d5\u304d\u3092\u6307\u3057\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u6b21\u306e2\u3064\u306e\u65b9\u6cd5\u3092\u4f7f\u7528\u3057\u3066\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u73fe\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1. \u30ca\u30d3\u30b2\u30fc\u30bf\u30fc.\u30d7\u30c3\u30b7\u30e5()<\/h4>\n\n\n\n<p>Navigator.push() \u30e1\u30bd\u30c3\u30c9\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u3092\u3042\u308b\u30da\u30fc\u30b8\u304b\u3089\u5225\u306e\u30da\u30fc\u30b8\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u3001\u5f15\u6570\u3068\u3057\u3066 BuildContext \u3068 Route \u3092\u53d7\u3051\u53d6\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001Navigator.push() \u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u305f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u306e\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">javaCopy code<code>class HomePage extends StatelessWidget {\n  @override\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3068\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306f\u3001\u5f37\u529b\u306a\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3068\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u3092\u5099\u3048\u305f\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3067\u3059\u3002 Flutter\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3068\u30c8\u30e9\u30f3\u30b8\u30b7\u30e7\u30f3\u30a8\u30d5\u30a7\u30af\u30c8\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u958b\u767a\u8005\u306f\u7d20\u6674\u3089\u3057\u3044\u30e6\u30fc\u30b6\u30fc\u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3<\/h3>\n\n\n\n<p>Flutter \u306b\u306f\u3001AnimatedContainer\u3001AnimatedOpacity\u3001AnimatedPadding\u3001AnimatedPositioned\u3001AnimatedAlign\u3001AnimatedBuilder \u306a\u3069\u306e\u7d44\u307f\u8fbc\u307f\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3 \u30af\u30e9\u30b9\u304c\u7528\u610f\u3055\u308c\u3066\u304a\u308a\u3001\u958b\u767a\u8005\u306f\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u52b9\u679c\u3092\u7c21\u5358\u306b\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f7f\u3046<\/h4>\n\n\n\n<p>\u30c8\u30a5\u30a4\u30fc\u30f3\u306f\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u59cb\u72b6\u614b\u3068\u7d42\u4e86\u72b6\u614b\u3092\u5b9a\u7fa9\u3059\u308b\u30b9\u30b3\u30fc\u30d7\u3092\u5b9a\u7fa9\u3059\u308b Flutter \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u8981\u306a\u30af\u30e9\u30b9\u3067\u3059\u3002 Flutter\u3067\u306f\u3001\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u958b\u59cb\u5024\u3068\u7d42\u4e86\u5024\u3092\u53d7\u3051\u53d6\u308a\u3001\u73fe\u5728\u306e\u5024\u3092\u8a08\u7b97\u3059\u308b\u65b9\u6cd5\u3092\u63d0\u4f9b\u3059\u308b\u30e2\u30fc\u30b7\u30e7\u30f3\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f5c\u6210\u3059\u308b\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002 \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30d1\u30c6\u30a3\u5024\u306e\u4e2d\u592e\u5024\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u4f8b\u3048\u3070\u3001\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f7f\u7528\u3057\u3066\u30e2\u30fc\u30b7\u30e7\u30f3\u30c8\u30a5\u30a4\u30fc\u30f3\u3092\u4f5c\u6210\u3059\u308b\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">scssCopy code<code>class MyHomePage extends StatefulWidget {\n  @override\n  _MyHomePageState createState() =&gt; _MyHomePageState();\n}\n\nclass _MyHomePageState extends State&lt;MyHomePage&gt;\n    with SingleTickerProviderStateMixin {\n  AnimationController _controller;\n  Animation&lt;double&gt; _animation;\n\n  @override\n  void initState() {\n    super.initState();\n    _controller = AnimationController(\n        duration: const Duration(seconds: 2), vsync: this);\n    _animation = Tween&lt;double&gt;(begin: 0, end: 1).animate(_controller);\n    _controller.forward();\n  }\n\n  @override\n  void dispose() {\n    _controller.dispose();\n    super.dispose();\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Center(\n      child: Opacity(\n        opacity: _animation.value,\n        child: Text(\n          'Hello World',\n          style: TextStyle(fontSize: 40),\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u4f8b\u3067\u306f\u3001Tween\u3092\u4f7f\u7528\u3057\u30660\u304b\u30891\u307e\u3067\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u3001\u305d\u308c\u3092\u4e0d\u900f\u660e\u5ea6\u306e\u900f\u660e\u5ea6\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u9069\u7528\u3057\u307e\u3057\u305f\u3002 \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u304c\u958b\u59cb\u3055\u308c\u308b\u3068\u3001\u900f\u660e\u5ea6\u306f 0 \u304b\u3089 1 \u306b\u5f90\u3005\u306b\u5897\u52a0\u3057\u3001\u30d5\u30a7\u30fc\u30c9 \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u52b9\u679c\u3092\u5b9f\u73fe\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u30d3\u30eb\u30c0\u30fc\u3092\u4f7f\u7528\u3059\u308b<\/h4>\n\n\n\n<p>Flutter \u3067\u4e00\u822c\u7684\u306b\u4f7f\u7528\u3055\u308c\u308b\u5225\u306e\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3 \u30af\u30e9\u30b9\u3067\u3042\u308b AnimationBuilder \u306f\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u3057\u3066\u53d7\u3051\u53d6\u308a\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u306e\u5404\u30d5\u30ec\u30fc\u30e0\u3067\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u95a2\u6570\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002 \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u30d3\u30eb\u30c0\u30fc\u306f\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3067\u8907\u96d1\u306a UI \u8981\u7d20\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u3088\u304f\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3068\u3048\u3070\u3001\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u30d3\u30eb\u30c0\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3059\u308b\u4f8b\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">scssCopy code<code>class MyHomePage extends StatefulWidget {\n  @override\n  _MyHomePageState createState() =&gt; _MyHomePageState();\n}\n\nclass _MyHomePageState extends State&lt;MyHomePage&gt;\n    with SingleTickerProviderStateMixin {\n  AnimationController _controller;\n  Animation&lt;double&gt; _animation;\n\n  @override\n  void initState() {\n    super.initState();\n    _controller = AnimationController(\n        duration: const Duration(seconds: 2), vsync: this);\n    _animation = Tween&lt;double&gt;(begin: 0, end: 1).animate(_controller);\n    _controller.forward();\n  }\n\n  @override\n  void dispose() {\n    _controller.dispose();\n    super.dispose();\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Center(\n      child: AnimatedBuilder(\n        animation: _animation,\n        builder: (BuildContext context, Widget child) {\n          return Transform.scale(\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30af\u30a8\u30b9\u30c8\u3068\u30c7\u30fc\u30bf\u89e3\u6790\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u3068\u30c7\u30fc\u30bf\u89e3\u6790\u3092\u884c\u3046\u305f\u3081\u306e\u7d44\u307f\u8fbc\u307f\u30c4\u30fc\u30eb\u3068\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u3044\u304f\u3064\u304b\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001Flutter\u3067\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30af\u30a8\u30b9\u30c8\u3068\u30c7\u30fc\u30bf\u89e3\u6790\u306e\u65b9\u6cd5\u3068\u624b\u6cd5\u3092\u8a73\u3057\u304f\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42<\/h3>\n\n\n\n<p>Flutter\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30af\u30a8\u30b9\u30c8\u3067\u306f\u3001\u901a\u5e38\u3001Dart\u306e\u7d44\u307f\u8fbc\u307f\u30d1\u30c3\u30b1\u30fc\u30b8\u307e\u305f\u306f\u3001\u306a\u3069\u306e\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3059\u3079\u3066\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u3092\u958b\u59cb\u3059\u308b\u305f\u3081\u306e\u540c\u69d8\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u63d0\u4f9b\u3057\u3001\u3059\u3079\u3066\u975e\u540c\u671f\u64cd\u4f5c\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u307e\u3059\u3002<code>http<\/code><code>dio<\/code><code>retrofit<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u306b HTTP \u30d1\u30b1\u30c3\u30c8\u3092\u4f7f\u7528\u3059\u308b<\/h4>\n\n\n\n<p><code>http<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001Dart \u3067 HTTP \u8981\u6c42\u3092\u884c\u3046\u305f\u3081\u306e\u7d44\u307f\u8fbc\u307f\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3042\u308a\u3001HTTP \u8981\u6c42\u3092\u4fbf\u5229\u306b\u884c\u3046\u305f\u3081\u306e\u4e00\u9023\u306e\u30af\u30e9\u30b9\u3068\u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066 GET \u8981\u6c42\u3092\u9001\u4fe1\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u624b\u9806\u306b\u5f93\u3044\u307e\u3059\u3002<code>http<\/code><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8 \u30d1\u30c3\u30b1\u30fc\u30b8:<code>http<\/code><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>import 'package:http\/http.dart' as http;\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>GET \u8981\u6c42\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>http.Response response = await http.get(Uri.parse('https:\/\/jsonplaceholder.typicode.com\/posts'));\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066 GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u306e URL \u3092\u6e21\u3057\u3066\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002 \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3053\u306e\u975e\u540c\u671f\u64cd\u4f5c\u3092\u540c\u671f\u3055\u305b\u3001\u8981\u6c42\u304c\u5b8c\u4e86\u3059\u308b\u306e\u3092\u5f85\u3063\u3066\u304b\u3089\u6b21\u306e\u30b3\u30fc\u30c9\u3092\u7d9a\u884c\u3057\u307e\u3059\u3002<code>get<\/code><code>http.Response<\/code><code>await<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u306b DIO \u30d1\u30b1\u30c3\u30c8\u3092\u4f7f\u7528\u3059\u308b<\/h4>\n\n\n\n<p><code>dio<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001RESTful API\u3001FormData\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30ad\u30e3\u30f3\u30bb\u30eb\u306a\u3069\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3001\u6a5f\u80fd\u304c\u8c4a\u5bcc\u3067\u4f7f\u3044\u3084\u3059\u3044HTTP\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3067\u3059\u3002 \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3057\u3066GET\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u624b\u9806\u306b\u5f93\u3044\u307e\u3059\u3002<code>dio<\/code><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8 \u30d1\u30c3\u30b1\u30fc\u30b8:<code>dio<\/code><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>import 'package:dio\/dio.dart';\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<code>Dio<\/code><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>Dio dio = Dio();\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>GET \u8981\u6c42\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>Response response = await dio.get('https:\/\/jsonplaceholder.typicode.com\/posts');\n<\/code><\/pre>\n\n\n\n<p>\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066 GET \u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u306e URL \u3092\u6e21\u3057\u3066\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002 \u30d1\u30c3\u30b1\u30fc\u30b8\u3068\u540c\u69d8\u306b\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u3053\u306e\u975e\u540c\u671f\u64cd\u4f5c\u304c\u540c\u671f\u3055\u308c\u307e\u3059\u3002<code>get<\/code><code>Response<\/code><code>http<\/code><code>await<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30c7\u30fc\u30bf\u89e3\u6790<\/h3>\n\n\n\n<p>Flutter\u3067\u306e\u30c7\u30fc\u30bf\u89e3\u6790\u3067\u306f\u3001\u901a\u5e38\u3001Dart\u306e\u7d44\u307f\u8fbc\u307f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u304b\u3001\u3001\u306a\u3069\u306e\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3059\u3079\u3066\u3001JSON\u30c7\u30fc\u30bf\u89e3\u6790\u3092\u5bb9\u6613\u306b\u3059\u308b\u305f\u3081\u306e\u540c\u69d8\u306e\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<code>json<\/code><code>json_serializable<\/code><code>built_value<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">JSON \u30c7\u30fc\u30bf\u89e3\u6790\u306b JSON \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u4f7f\u7528\u3059\u308b<\/h4>\n\n\n\n<p><code>json<\/code>\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001Dart\u3067\u306eJSON\u30c7\u30fc\u30bf\u89e3\u6790\u7528\u306e\u7d44\u307f\u8fbc\u307f\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3042\u308a\u3001JSON\u30c7\u30fc\u30bf\u306e\u89e3\u6790\u3092\u5bb9\u6613\u306b\u3059\u308b\u305f\u3081\u306e\u4e00\u9023\u306e\u30af\u30e9\u30b9\u3068\u30e1\u30bd\u30c3\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u6b21\u306e JSON \u30c7\u30fc\u30bf\u3092\u89e3\u6790\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">jsonCopy code<code>{\n  \"userId\": 1,\n  \"id\": 1,\n  \"title\": \"sunt aut facere repellat provident occaecati excepturi optio reprehenderit\",\n  \"body\": \"quia et suscipit\\nsuscipit...\"\n}\n<\/code><\/pre>\n\n\n\n<p>\u3053\u308c\u306f\u3001\u6b21\u306e\u624b\u9806\u306b\u5f93\u3063\u3066\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8 \u30d1\u30c3\u30b1\u30fc\u30b8:<code>dart:convert<\/code><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>import 'dart:convert';\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>JSON \u30c7\u30fc\u30bf\u306e\u89e3\u6790:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>Map&lt;String\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u306e\u56fd\u969b\u5316\u3068\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u6559\u3048\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>Flutter\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u8a00\u8a9e\u3084\u30ed\u30b1\u30fc\u30eb\u306b\u9069\u5fdc\u3059\u308b\u305f\u3081\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u56fd\u969b\u5316\u304a\u3088\u3073\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3059\u308b\u7c21\u5358\u306a\u65b9\u6cd5\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u6a5f\u80fd\u306fDart\u306eintl\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u7c21\u5358\u306b\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u56fd\u969b\u5316\u306b\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30c6\u30ad\u30b9\u30c8\u3084\u305d\u306e\u4ed6\u306e\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3092\u4ed6\u306e\u8a00\u8a9e\u306b\u7ffb\u8a33\u3059\u308b\u3053\u3068\u304c\u542b\u307e\u308c\u307e\u3059\u3002 Flutter\u306f\u3001ARB(\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ea\u30bd\u30fc\u30b9\u30d0\u30f3\u30c9\u30eb)\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u3092\u4f7f\u7528\u3057\u3066\u56fd\u969b\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002 arb\u30d5\u30a1\u30a4\u30eb\u306f\u3001\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u6587\u5b57\u5217\u3084\u305d\u306e\u4ed6\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u542b\u3080\u5358\u7d14\u306aJSON\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u3067\u3059\u3002<\/p>\n\n\n\n<p>Flutter\u3067\u306f\u3001Flutter intl\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ed\u30fc\u30ab\u30ea\u30bc\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u304a\u3088\u3073\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002 \u30d7\u30e9\u30b0\u30a4\u30f3\u306f\u3001ARB\u30d5\u30a1\u30a4\u30eb\u3092\u7c21\u5358\u306b\u4f5c\u6210\u304a\u3088\u3073\u7ba1\u7406\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u306e\u30bb\u30c3\u30c8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u3053\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u6587\u5b57\u5217\u3092\u4ed6\u306e\u8a00\u8a9e\u306b\u7ffb\u8a33\u3057\u3066\u3001\u5bfe\u5fdc\u3059\u308bARB\u30d5\u30a1\u30a4\u30eb\u306b\u4fdd\u5b58\u3059\u308b\u306e\u304c\u7c21\u5358\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3001Intl \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u6587\u5b57\u5217\u3084\u305d\u306e\u4ed6\u306e\u30ea\u30bd\u30fc\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002 intl \u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u306f\u3001\u73fe\u5728\u306e\u8a00\u8a9e\u3068\u30ed\u30b1\u30fc\u30eb\u306b\u57fa\u3065\u3044\u3066\u6b63\u3057\u3044\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081\u306e\u4e00\u9023\u306e\u30e1\u30bd\u30c3\u30c9\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u6587\u5b57\u5217\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<code>Intl.message<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>String greeting = Intl.message('Hello', name: 'greeting');\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u4f8b\u3067\u306f\u3001&#8217;Hello&#8217; \u306f\u65e2\u5b9a\u306e\u82f1\u8a9e\u306e\u6587\u5b57\u5217\u3067\u3001&#8217;greeting&#8217; \u306f\u6587\u5b57\u5217\u306e\u540d\u524d\u3067\u3059\u3002 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8a00\u8a9e\u304c\u5225\u306e\u8a00\u8a9e\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001intl \u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u5bfe\u5fdc\u3059\u308b\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3055\u308c\u305f\u6587\u5b57\u5217\u3092\u81ea\u52d5\u7684\u306b\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30ed\u30fc\u30ab\u30ea\u30bc\u30fc\u30b7\u30e7\u30f3\u306b\u306f\u3001\u6570\u5024\u3001\u65e5\u4ed8\u3001\u901a\u8ca8\u306a\u3069\u306e\u66f8\u5f0f\u8a2d\u5b9a\u3082\u542b\u307e\u308c\u307e\u3059\u3002 Flutter\u306b\u306f\u3001\u6570\u5024\u3001\u65e5\u4ed8\u3001\u901a\u8ca8\u3092\u73fe\u5728\u306e\u8a00\u8a9e\u3068\u30ed\u30b1\u30fc\u30eb\u306b\u7c21\u5358\u306b\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3067\u304d\u308b\u4e00\u9023\u306e\u7d44\u307f\u8fbc\u307f\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u30e1\u30bd\u30c3\u30c9\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3057\u3066\u6570\u5024\u3092\u66f8\u5f0f\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<code>NumberFormat<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">dartCopy code<code>NumberFormat formatter = NumberFormat.currency(locale: 'en_US', symbol: '\\$');\nString formattedAmount = formatter.format(1234.56);\n<\/code><\/pre>\n\n\n\n<p>\u3053\u306e\u4f8b\u3067\u306f\u3001\u30af\u30e9\u30b9\u306f\u6570\u5024\u3092 USD \u901a\u8ca8\u5f62\u5f0f\u3067\u66f8\u5f0f\u8a2d\u5b9a\u3057\u307e\u3059\u3002 \u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u73fe\u5728\u306e\u8a00\u8a9e\u3068\u30ed\u30b1\u30fc\u30eb\u3092\u6307\u5b9a\u3057\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u901a\u8ca8\u8a18\u53f7\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002<code>NumberFormat<\/code><code>locale<\/code><code>symbol<\/code><\/p>\n\n\n\n<p>\u8981\u7d04\u3059\u308b\u3068\u3001Flutter\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u56fd\u969b\u5316\u3068\u30ed\u30fc\u30ab\u30e9\u30a4\u30ba\u3092\u5bb9\u6613\u306b\u3059\u308b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3068\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u30bb\u30c3\u30c8\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30c4\u30fc\u30eb\u3068\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3055\u307e\u3056\u307e\u306a\u8a00\u8a9e\u3084\u30ed\u30b1\u30fc\u30eb\u306b\u7c21\u5358\u306b\u9069\u5fdc\u3055\u305b\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u30e6\u30fc\u30b6\u30fc \u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>\u5b8c\u5168\u306aFlutter\u30a2\u30d7\u30ea\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306b\u8a73\u7d30\u306b\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>\u5b8c\u5168\u306aFlutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u969b\u306b\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3001UI\u30c7\u30b6\u30a4\u30f3\u3001\u30c7\u30fc\u30bf\u7ba1\u7406\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30ea\u30af\u30a8\u30b9\u30c8\u3001\u72b6\u614b\u7ba1\u7406\u306a\u3069\u3001\u8003\u616e\u3059\u3079\u304d\u591a\u304f\u306e\u5074\u9762\u304c\u3042\u308a\u307e\u3059\u3002 \u5b8c\u5168\u306aFlutter\u30a2\u30d7\u30ea\u3092\u69cb\u7bc9\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u7c21\u5358\u306a\u624b\u9806\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u8a2d\u8a08\u3059\u308b: \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u57fa\u76e4\u3067\u3042\u308a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u7d44\u7e54\u69cb\u9020\u3068\u8ad6\u7406\u30d5\u30ed\u30fc\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002 Flutter\u306b\u306f\u3001MVC\u3001MVVM\u3001Flux\u3001Redux\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u30d1\u30bf\u30fc\u30f3\u3092\u4f7f\u7528\u3059\u308b\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u3059\u3002 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30cb\u30fc\u30ba\u3068\u30b5\u30a4\u30ba\u306b\u9069\u3057\u305f\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 \u30d1\u30bf\u30fc\u30f3\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eUI\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u8a2d\u8a08\u3059\u308b:UI\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u8981\u306a\u90e8\u5206\u3067\u3042\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3068\u6e80\u8db3\u5ea6\u306b\u76f4\u63a5\u5f71\u97ff\u3057\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u8c4a\u5bcc\u306a\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3068\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eUI\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002 \u540c\u6642\u306b\u3001\u30b9\u30b1\u30c3\u30c1\u3001Adobe XD\u3001Figma\u306a\u3069\u306e\u30c7\u30b6\u30a4\u30f3\u30c4\u30fc\u30eb\u3068\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3001\u3088\u308a\u7f8e\u3057\u304f\u7f8e\u3057\u3044UI\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3092\u30c7\u30b6\u30a4\u30f3\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30b8\u30cd\u30b9 \u30ed\u30b8\u30c3\u30af\u3092\u5b9f\u88c5\u3059\u308b: \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30b8\u30cd\u30b9 \u30ed\u30b8\u30c3\u30af\u306b\u3088\u3063\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u6a5f\u80fd\u3068\u30d7\u30ed\u30bb\u30b9\u304c\u6c7a\u307e\u308a\u307e\u3059\u3002 Flutter\u3067\u306f\u3001Dart\u8a00\u8a9e\u3092\u4f7f\u7528\u3057\u3066\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30b8\u30cd\u30b9\u30ed\u30b8\u30c3\u30af\u3092\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002 \u901a\u5e38\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d3\u30b8\u30cd\u30b9 \u30ed\u30b8\u30c3\u30af\u306b\u306f\u3001\u30c7\u30fc\u30bf\u7ba1\u7406\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u3001\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u7ba1\u7406\u3092\u5b9f\u88c5\u3059\u308b: \u72b6\u614b\u7ba1\u7406\u306f Flutter \u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u8981\u306a\u90e8\u5206\u3067\u3042\u308a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3068\u52d5\u4f5c\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3001BLoC\u3001Redux\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u72b6\u614b\u7ba1\u7406\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u5b9f\u88c5\u3059\u308b: \u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306f Flutter \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u91cd\u8981\u306a\u90e8\u5206\u3067\u3042\u308a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30da\u30fc\u30b8\u5207\u308a\u66ff\u3048\u3068\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u30ca\u30d3\u30b2\u30fc\u30bf\u30fc\u3084\u30eb\u30fc\u30c8\u306a\u3069\u306e\u30af\u30e9\u30b9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u306e\u30c6\u30b9\u30c8\u3092\u5b9f\u88c5\u3059\u308b: \u30c6\u30b9\u30c8\u306f\u3001\u30a2\u30d7\u30ea\u306e\u554f\u984c\u3084\u30d0\u30b0\u3092\u898b\u3064\u3051\u3066\u4fee\u6b63\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u3001Flutter\u30a2\u30d7\u30ea\u958b\u767a\u30d7\u30ed\u30bb\u30b9\u306e\u975e\u5e38\u306b\u91cd\u8981\u306a\u90e8\u5206\u3067\u3059\u3002 Flutter\u3067\u306f\u3001Flutter\u30c6\u30b9\u30c8\u3001\u7d71\u5408\u30c6\u30b9\u30c8\u306a\u3069\u306e\u3055\u307e\u3056\u307e\u306a\u30c6\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u3059\u3079\u3066\u306e\u5074\u9762\u3092\u30c6\u30b9\u30c8\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a2\u30d7\u30ea\u3092\u516c\u958b\u3059\u308b: \u6700\u5f8c\u306b\u3001App Store \u3084 Google Play \u30b9\u30c8\u30a2\u306a\u3069\u306e\u30a2\u30d7\u30ea\u30b9\u30c8\u30a2\u306b\u30a2\u30d7\u30ea\u3092\u516c\u958b\u3057\u3066\u3001\u3088\u308a\u591a\u304f\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u30a2\u30d7\u30ea\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u7d50\u8ad6\u3068\u3057\u3066\u3001\u5b8c\u5168\u306aFlutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3059\u308b\u969b\u306b\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30cb\u30fc\u30ba\u3001\u30e6\u30fc\u30b6\u30fc\u30a8\u30af\u30b9\u30da\u30ea\u30a8\u30f3\u30b9\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306a\u3069\u3001\u8003\u616e\u3059\u3079\u304d\u591a\u304f\u306e\u5074\u9762\u304c\u3042\u308a\u307e\u3059\u3002 \u7d99\u7d9a\u7684\u306a\u7df4\u7fd2\u3068\u5b66\u7fd2\u3092\u901a\u3058\u3066\u3001Flutter\u958b\u767a\u30b9\u30ad\u30eb\u3092\u5f90\u3005\u306b\u5411\u4e0a\u3055\u305b\u3001\u3088\u308a\u512a\u308c\u305f\u9ad8\u54c1\u8cea\u306eFlutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>\u7c21\u5358\u306a\u30ed\u30b0\u30a4\u30f3\u30fb\u767b\u9332\u6a5f\u80fd\u306e\u5b9f\u88c5\u65b9\u6cd5\u3092\u8a73\u3057\u304f\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>\u5358\u7d14\u306a\u30b5\u30a4\u30f3\u30a4\u30f3\u304a\u3088\u3073\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u306b\u306f\u3001\u6b21\u306e\u624b\u9806\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p>1.\u30e9\u30f3\u30c7\u30a3\u30f3\u30b0\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u307e\u3059<\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30e9\u30f3\u30c7\u30a3\u30f3\u30b0\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u3053\u306e\u30da\u30fc\u30b8\u3067\u306f\u3001\u30e6\u30fc\u30b6\u30fc\u306f\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 or \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u5165\u529b\u30dc\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u3057\u305f\u308a\u3001\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30ed\u30b0\u30a4\u30f3\u30dc\u30bf\u30f3\u3092\u4f5c\u6210\u3057\u305f\u308a\u3067\u304d\u307e\u3059\u3002<code>TextFormField<\/code><code>TextField<\/code><code>FlatButton<\/code><code>RaisedButton<\/code><\/p>\n\n\n\n<p>2. \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u3092\u691c\u8a3c\u3059\u308b<\/p>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u304c\u30ed\u30b0\u30a4\u30f3\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u3001\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u6b63\u3057\u3044\u3053\u3068\u3092\u78ba\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Dart \u306e if-else \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u307e\u305f\u306f switch \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u3001\u5165\u529b\u3092\u30c1\u30a7\u30c3\u30af\u3067\u304d\u307e\u3059\u3002 \u30e6\u30fc\u30b6\u30fc\u5165\u529b\u304c\u7121\u52b9\u306a\u5834\u5408\u306f\u3001\u9069\u5207\u306a\u30a8\u30e9\u30fc \u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>3. \u767b\u9332\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b<\/p>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u304c\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u65b0\u3057\u3044\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u3059\u308b\u3088\u3046\u306b\u4f9d\u983c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u65b0\u3057\u3044\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3057\u3066\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3067\u304d\u308b\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7 \u30d5\u30a9\u30fc\u30e0\u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002 \u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u3068\u540c\u69d8\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u4f7f\u7528\u3057\u3066\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>4. \u30e6\u30fc\u30b6\u30fc\u767b\u9332\u60c5\u5831\u306e\u51e6\u7406<\/p>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u304c\u767b\u9332\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u3001\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u307e\u305f\u306f\u305d\u306e\u4ed6\u306e\u4fdd\u5b58\u5834\u6240\u306b\u4fdd\u5b58\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Flutter \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8981\u6c42\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066\u3001\u307e\u305f\u306f\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30e6\u30fc\u30b6\u30fc\u30fb\u30c7\u30fc\u30bf\u306e\u9001\u4fe1\u3092\u5f85\u3064\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<code>http<\/code><code>dio<\/code><\/p>\n\n\n\n<p>5. \u30e6\u30fc\u30b6\u30fc ID \u3092\u78ba\u8a8d\u3059\u308b<\/p>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u304c\u6b63\u5e38\u306b\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u3057\u3066\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u305f\u3089\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u8a8d\u8a3c\u3055\u308c\u305f\u307e\u307e\u306b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Flutter\u72b6\u614b\u7ba1\u7406\u30e9\u30a4\u30d6\u30e9\u30ea(\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306a\u3069)\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059 Bloc\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>6.\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u4fdd\u5b58\u3057\u307e\u3059<\/p>\n\n\n\n<p>\u30e6\u30fc\u30b6\u30fc\u304c\u6b63\u5e38\u306b\u30b5\u30a4\u30f3\u30a4\u30f3\u3057\u305f\u3089\u3001\u30e6\u30fc\u30b6\u30fc\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u4fdd\u5b58\u3067\u304d\u307e\u3059\u3002 Flutter \u306e shared_preferences \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30ed\u30fc\u30ab\u30eb\u30b9\u30c8\u30ec\u30fc\u30b8\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>7.\u30ed\u30b0\u30a2\u30a6\u30c8\u6a5f\u80fd\u3092\u4f5c\u6210\u3057\u307e\u3059<\/p>\n\n\n\n<p>\u6700\u5f8c\u306b\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30b5\u30a4\u30f3\u30a2\u30a6\u30c8\u6a5f\u80fd\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059\u3002 \u30e6\u30fc\u30b6\u30fc\u304c [\u30b5\u30a4\u30f3\u30a2\u30a6\u30c8] \u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u3001\u8a8d\u8a3c\u72b6\u614b\u3068\u30ed\u30fc\u30ab\u30eb \u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u3092\u30af\u30ea\u30a2\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u308c\u3089\u306f\u3001\u5358\u7d14\u306a\u30b5\u30a4\u30f3\u30a4\u30f3\u304a\u3088\u3073\u30b5\u30a4\u30f3\u30a2\u30c3\u30d7\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u305f\u3081\u306e\u57fa\u672c\u7684\u306a\u624b\u9806\u3067\u3042\u308a\u3001\u30cb\u30fc\u30ba\u3068\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30b5\u30a4\u30ba\u306b\u57fa\u3065\u3044\u3066\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u304a\u3088\u3073\u6700\u9069\u5316\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Flutter\u304c\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306eAPI\u3092\u547c\u3073\u51fa\u3057\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306eSDK\u3092\u7d71\u5408\u3059\u308b\u3053\u3068\u3092\u8a73\u7d30\u306b\u8aac\u660e\u3057\u3066\u304f\u3060\u3055\u3044<\/p>\n\n\n\n<p>\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 API \u3092\u547c\u3073\u51fa\u3057\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 SDK \u3092 Flutter \u306b\u7d71\u5408\u3059\u308b\u306b\u306f\u3001\u901a\u5e38\u3001\u6b21\u306e\u624b\u9806\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p>1. \u9069\u5207\u306a API \u307e\u305f\u306f SDK \u3092\u898b\u3064\u3051\u308b<\/p>\n\n\n\n<p>\u307e\u305a\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30cb\u30fc\u30ba\u3092\u6e80\u305f\u3059\u9069\u5207\u306a\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3API\u307e\u305f\u306fSDK\u3092\u898b\u3064\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001\u5730\u56f3\u6a5f\u80fd\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001Google Maps API \u307e\u305f\u306f Mapbox SDK \u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002 \u652f\u6255\u3044\u6a5f\u80fd\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u306f\u3001Stripe \u3084 Braintree \u306a\u3069\u306e\u652f\u6255\u3044\u51e6\u7406 SDK \u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>2. API \u307e\u305f\u306f SDK \u306e\u30a2\u30af\u30bb\u30b9 \u30ad\u30fc\u307e\u305f\u306f\u30a2\u30d7\u30ea ID \u3092\u53d6\u5f97\u3059\u308b<\/p>\n\n\n\n<p>\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e API \u3092\u547c\u3073\u51fa\u3057\u305f\u308a\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e SDK \u3092\u7d71\u5408\u3057\u305f\u308a\u3059\u308b\u524d\u306b\u3001\u901a\u5e38\u3001\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e Web \u30b5\u30a4\u30c8\u306b\u767b\u9332\u3057\u3066\u30a2\u30af\u30bb\u30b9 \u30ad\u30fc\u307e\u305f\u306f\u30a2\u30d7\u30ea ID \u3092\u53d6\u5f97\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u5404 API \u307e\u305f\u306f SDK \u306e\u767b\u9332\u65b9\u6cd5\u304c\u7570\u306a\u308b\u305f\u3081\u3001\u30d7\u30ed\u30bb\u30b9\u306f\u7570\u306a\u308a\u307e\u3059\u3002 \u3053\u306e\u624b\u9806\u3092\u5b8c\u4e86\u3059\u308b\u306b\u306f\u3001\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5f93\u3046\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>3. API \u307e\u305f\u306f SDK \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b<\/p>\n\n\n\n<p>\u30a2\u30af\u30bb\u30b9\u30ad\u30fc\u307e\u305f\u306f\u30a2\u30d7\u30eaID\u3092\u53d6\u5f97\u3057\u305f\u3089\u3001API\u307e\u305f\u306fSDK\u30e9\u30a4\u30d6\u30e9\u30ea\u3092Flutter\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 Flutter\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3057\u3066\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5185\u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u7ba1\u7406\u3067\u304d\u307e\u3059\u3002 \u5fc5\u8981\u306a API \u307e\u305f\u306f SDK \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u540d\u524d\u3068\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u8ffd\u52a0\u3067\u304d\u307e\u3059\u3002<code>pubspec.yaml<\/code><\/p>\n\n\n\n<p>4. API \u307e\u305f\u306f SDK \u3092\u4f7f\u7528\u3059\u308b<\/p>\n\n\n\n<p>API \u307e\u305f\u306f SDK \u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3057\u305f\u5f8c\u3001Dart \u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066 API \u307e\u305f\u306f SDK \u3092\u547c\u3073\u51fa\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001Google \u30de\u30c3\u30d7 API \u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u4f7f\u7528\u3057\u3066 Flutter \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u5730\u56f3\u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002 \u3053\u306e\u5834\u5408\u3001\u30a2\u30af\u30bb\u30b9 \u30ad\u30fc\u3092\u8a2d\u5b9a\u3057\u3001\u9069\u5207\u306a\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30de\u30c3\u30d7\u3092\u8868\u793a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<code>google_maps_flutter<\/code><\/p>\n\n\n\n<p>5. \u5fdc\u7b54\u3092\u51e6\u7406\u3059\u308b<\/p>\n\n\n\n<p>API \u3092\u547c\u3073\u51fa\u3059\u3068\u3001\u5fdc\u7b54\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002 Dart\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u89e3\u6790\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u9069\u5207\u306a\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u305f\u3068\u3048\u3070\u3001Weather API \u3092\u547c\u3073\u51fa\u3057\u3066 JSON \u5fdc\u7b54\u3092\u53d6\u5f97\u3059\u308b\u5834\u5408\u306f\u3001JSON \u5fdc\u7b54\u3092\u89e3\u6790\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u5929\u6c17\u60c5\u5831\u3092\u8868\u793a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u8981\u7d04\u3059\u308b\u3068\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 API \u3092\u547c\u3073\u51fa\u3057\u3066\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3 SDK \u3092\u7d71\u5408\u3059\u308b\u306b\u306f\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u6ce8\u610f\u6df1\u304f\u8aad\u307f\u3001API \u30ad\u30fc\u3068 SDK \u306e\u4f9d\u5b58\u95a2\u4fc2\u3092\u9069\u5207\u306b\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u8a2d\u5b9a\u304c\u5b8c\u4e86\u3057\u305f\u3089\u3001Dart\u30b3\u30fc\u30c9\u3092\u4f7f\u7528\u3057\u3066API\u307e\u305f\u306fSDK\u3092\u547c\u3073\u51fa\u3057\u3001Flutter\u30a2\u30d7\u30ea\u306b\u7d50\u679c\u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Github\u306e\u512a\u308c\u305f\u30d5\u30e9\u30c3\u30bf\u30fc\u30d9\u30fc\u30b9\u306e\u30b7\u30b9\u30c6\u30e0\u306f\u4f55\u3067\u3059\u304b<\/p>\n\n\n\n<p>GitHub\u3067\u958b\u767a\u304a\u3088\u3073\u4fdd\u5b88\u3055\u308c\u3066\u3044\u308b\u512a\u308c\u305fFlutter\u30d9\u30fc\u30b9\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30b7\u30b9\u30c6\u30e0\u3092\u6b21\u306b\u793a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30ae\u30e3\u30e9\u30ea\u30fc \u2013 \u30d5\u30e9\u30c3\u30bf\u30fc\u30c1\u30fc\u30e0\u306b\u3088\u3063\u3066\u958b\u767a\u3055\u308c\u305f\u30b5\u30f3\u30d7\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u3001\u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u3055\u307e\u3056\u307e\u306a\u6a5f\u80fd\u3068UI\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/li>\n\n\n\n<li>Flutter E\u30b3\u30de\u30fc\u30b9\u30a2\u30d7\u30ea \u2013\u30a2\u30a4\u30c6\u30e0\u691c\u7d22\u3001\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0\u30ab\u30fc\u30c8\u3001\u6ce8\u6587\u8ffd\u8de1\u306a\u3069\u306e\u591a\u304f\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306ee\u30b3\u30de\u30fc\u30b9\u30a2\u30d7\u30ea\u3002<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb \u2013 \u958b\u767a\u8005\u304c\u30d5\u30e9\u30c3\u30bf\u30fc\u958b\u767a\u3092\u5b66\u3076\u306e\u306b\u5f79\u7acb\u3064Flutter\u306e\u591a\u304f\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63d0\u4f9b\u3059\u308b\u30d5\u30e9\u30c3\u30bf\u30fc\u30d9\u30fc\u30b9\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3002<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30df\u30e5\u30fc\u30b8\u30c3\u30af\u30d7\u30ec\u30fc\u30e4\u30fc \u2013\u30d7\u30ec\u30a4\u30ea\u30b9\u30c8\u3001\u66f2\u306e\u691c\u7d22\u3001\u6b4c\u8a5e\u306e\u8868\u793a\u306a\u3069\u3001\u97f3\u697d\u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u591a\u304f\u306e\u4e00\u822c\u7684\u306a\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308bFlutter\u30d9\u30fc\u30b9\u306e\u97f3\u697d\u30d7\u30ec\u30fc\u30e4\u30fc\u30a2\u30d7\u30ea\u3002<\/li>\n\n\n\n<li>Flutter\u30cb\u30e5\u30fc\u30b9\u30a2\u30d7\u30ea \u2013\u30cb\u30e5\u30fc\u30b9\u306e\u5206\u985e\u3001\u691c\u7d22\u3001\u95b2\u89a7\u5c65\u6b74\u306a\u3069\u3001\u591a\u304f\u306e\u30cb\u30e5\u30fc\u30b9\u30a2\u30d7\u30ea\u306b\u5171\u901a\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308bFlutter\u30d9\u30fc\u30b9\u306e\u30cb\u30e5\u30fc\u30b9\u30a2\u30d7\u30ea\u3002<\/li>\n\n\n\n<li>Flutter\u30e0\u30fc\u30d3\u30fc\u30a2\u30d7\u30ea \u2013 \u6620\u753b\u691c\u7d22\u3001\u8a73\u7d30\u30da\u30fc\u30b8\u3001\u63a8\u5968\u4e8b\u9805\u306a\u3069\u3001\u591a\u304f\u306e\u6620\u753b\u30a2\u30d7\u30ea\u306b\u5171\u901a\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308bFlutter\u30d9\u30fc\u30b9\u306e\u6620\u753b\u30a2\u30d7\u30ea\u3002<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u5929\u6c17\u30a2\u30d7\u30ea \u2013\u5929\u6c17\u4e88\u5831\u3001\u90fd\u5e02\u691c\u7d22\u3001\u591a\u8a00\u8a9e\u306a\u3069\u306e\u6a5f\u80fd\u3092\u63d0\u4f9b\u3059\u308b\u30d5\u30e9\u30c3\u30bf\u30fc\u30d9\u30fc\u30b9\u306e\u5929\u6c17\u30a2\u30d7\u30ea\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30b7\u30b9\u30c6\u30e0\u306f\u3001\u958b\u767a\u8005\u304cFlutter\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068Dart\u8a00\u8a9e\u3092\u3088\u308a\u3088\u304f\u7406\u89e3\u3057\u3001Flutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u767a\u3092\u30b9\u30d4\u30fc\u30c9\u30a2\u30c3\u30d7\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u3001Flutter\u958b\u767a\u306e\u305f\u3081\u306e\u591a\u304f\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3068\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/edu.ujhb.org\/?p=845\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/chat.openai.com\/_next\/image?url=https%3A%2F%2Flh3.googleusercontent.com%2Fa%2FAGNmyxbwVdnTP0E2eBqDrujRQjV-wFP12Thr4vFgysVv5A%3Ds96-c&amp;w=64&amp;q=75\" alt=\"gun tei\"\/><\/figure>\n\n\n\n<p>Github\u306e\u512a\u308c\u305fFlutter\u30d9\u30fc\u30b9\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306f\u4f55\u3067\u3059\u304b<\/p>\n\n\n\n<p>\u3053\u3053\u3067\u306f\u3001Flutter\u30d9\u30fc\u30b9\u306e\u512a\u308c\u305f\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3092\u3044\u304f\u3064\u304b\u7d39\u4ecb\u3057\u3001\u3059\u3079\u3066GitHub\u3067\u958b\u767a\u304a\u3088\u3073\u4fdd\u5b88\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u30c1\u30e3\u30a4\u30ca \u2013 \u30d5\u30e9\u30c3\u30bf\u30fc\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3001\u30ea\u30bd\u30fc\u30b9\u3001\u30c4\u30fc\u30eb\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u63d0\u4f9b\u3059\u308b\u30d5\u30e9\u30c3\u30bf\u30fc\u4e2d\u56fd\u8a9e\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3002<\/li>\n\n\n\n<li>Flutter \u30b5\u30f3\u30d7\u30eb \u2013 \u958b\u767a\u8005\u304c Flutter \u958b\u767a\u3092\u3088\u308a\u3088\u304f\u5b66\u3076\u306e\u306b\u5f79\u7acb\u3064\u591a\u304f\u306e Flutter \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63d0\u4f9b\u3059\u308b Flutter \u30d9\u30fc\u30b9\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/li>\n\n\n\n<li>\u4f8b\u306b\u3088\u308b\u30d5\u30e9\u30c3\u30bf\u30fc \u2013 \u958b\u767a\u8005\u304cFlutter\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068Dart\u8a00\u8a9e\u3092\u3088\u308a\u3088\u304f\u7406\u89e3\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064\u591a\u304f\u306eFlutter\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63d0\u4f9b\u3059\u308bFlutter\u30d9\u30fc\u30b9\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/li>\n\n\n\n<li>\u30d5\u30e9\u30c3\u30bf\u30fc\u958b\u767a \u2013 Flutter \u30d9\u30fc\u30b9\u306e\u958b\u767a\u8005\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3067\u3001\u958b\u767a\u8005\u304c Flutter \u958b\u767a\u3092\u5b66\u3076\u306e\u306b\u5f79\u7acb\u3064 Flutter \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3001\u30c4\u30fc\u30eb\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u306a\u3069\u306e\u30ea\u30bd\u30fc\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>Flutter Awesome \u2013 \u958b\u767a\u8005\u304cFlutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u3088\u308a\u9069\u5207\u306b\u958b\u767a\u3059\u308b\u306e\u306b\u5f79\u7acb\u3064Flutter\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u30c4\u30fc\u30eb\u306e\u591a\u304f\u3092\u63d0\u4f9b\u3059\u308bFlutter\u30d9\u30fc\u30b9\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30e9\u30a4\u30d6\u30e9\u30ea\u3068\u30c4\u30fc\u30eb\u306e\u30ea\u30b9\u30c8\u3002<\/li>\n\n\n\n<li>Flutter \u30b5\u30f3\u30d7\u30eb \u2013 \u958b\u767a\u8005\u304c Flutter \u958b\u767a\u3092\u3088\u308a\u3088\u304f\u5b66\u3076\u306e\u306b\u5f79\u7acb\u3064\u591a\u304f\u306e Flutter \u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63d0\u4f9b\u3059\u308b Flutter \u30d9\u30fc\u30b9\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u30e9\u30a4\u30d6\u30e9\u30ea\u3002<\/li>\n<\/ol>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u306f\u3001\u958b\u767a\u8005\u304cFlutter\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3068Dart\u8a00\u8a9e\u3092\u3088\u308a\u3088\u304f\u7406\u89e3\u3057\u3001Flutter\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u306e\u52b9\u7387\u3092\u5411\u4e0a\u3055\u305b\u308b\u306e\u306b\u5f79\u7acb\u3064\u8c4a\u5bcc\u306aFlutter\u958b\u767a\u30ea\u30bd\u30fc\u30b9\u3068\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IT\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306e\u30d3\u30c7\u30aa\u3092\u3084\u308a\u305f\u3044\u306e\u3067 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-957","post","type-post","status-publish","format-standard","hentry","category-material"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/posts\/957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=957"}],"version-history":[{"count":1,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/posts\/957\/revisions"}],"predecessor-version":[{"id":958,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=\/wp\/v2\/posts\/957\/revisions\/958"}],"wp:attachment":[{"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/edu.ujhb.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}