{
    "componentChunkName": "component---src-templates-blog-post-jsx",
    "path": "/posts/2020/02/10/flutter-guan-fang-wen-dang-xue-xi-ji-lu/",
    "result": {"data":{"site":{"siteMetadata":{"siteUrl":"https://codeand.fun"}},"mdx":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Flutter 官方文档学习记录\",\n  \"date\": \"2020-02-10T19:39:54.000Z\",\n  \"tags\": [\"Flutter\", \"学习记录\"],\n  \"categories\": [\"Blog\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"\\u7F16\\u5199\\u7B2C\\u4E00\\u4E2A Flutter \\u5E94\\u7528\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://flutter.cn/docs/get-started/codelab\"\n  }, \"Get Start\"))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u5728 Flutter \\u4E2D\\uFF0C\\u51E0\\u4E4E\\u6240\\u6709\\u90FD\\u662F widget\\uFF0C\\u5305\\u62EC\\u5BF9\\u9F50 (alignment)\\u3001\\u586B\\u5145 (padding) \\u548C\\u5E03\\u5C40 (layout)\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u4E00\\u4E2A widget \\u7684\\u4E3B\\u8981\\u5DE5\\u4F5C\\u662F\\u63D0\\u4F9B\\u4E00\\u4E2A build() \\u65B9\\u6CD5\\u6765\\u63CF\\u8FF0\\u5982\\u4F55\\u6839\\u636E\\u5176\\u4ED6\\u8F83\\u4F4E\\u7EA7\\u522B\\u7684 widgets \\u6765\\u663E\\u793A\\u81EA\\u5DF1\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"pubspec.yml\"), \"\\u6587\\u4EF6\\u7BA1\\u7406 Flutter \\u5E94\\u7528\\u7684\\u8D44\\u6E90\\uFF08assests\\uFF09\\uFF0C\\u5982\\u56FE\\u7247\\u6216 package\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"flutter pub get\"), \"\\u53EF\\u4EE5\\u6309\\u7167\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"pubspec.yml\"), \"\\u5B89\\u88C5\\u5305\\uFF0CBTW\\uFF0C\\u5728\\u4F60\\u4E00\\u4FDD\\u5B58\\u8BE5\\u6587\\u4EF6\\u65F6\\uFF0Cvscode \\u4F1A\\u81EA\\u52A8\\u5E2E\\u4F60\\u6267\\u884C\\u8BE5\\u547D\\u4EE4\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u6BCF\\u6B21 MaterialApp\\uFF08\\u6216\\u8005\\u8BF4 \\u7EC4\\u4EF6\\uFF09\\u9700\\u8981\\u6E32\\u67D3\\u65F6\\uFF0C\\u6216\\u8005\\u5728 Flutter inspector \\u4E2D\\u5207\\u6362\\u5E73\\u53F0\\u65F6 build \\u65B9\\u6CD5\\u90FD\\u4F1A\\u6267\\u884C\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"Stateless Widgets\"), \"\\u662F\\u4E0D\\u53EF\\u53D8\\u7684\\uFF0C\\u5373\\u6240\\u6709\\u503C\\u90FD\\u662F\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"final\"), \"\\u7684\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Stateful widgets \\u6301\\u6709\\u7684\\u72B6\\u6001\\u53EF\\u80FD\\u5728 widget \\u751F\\u547D\\u5468\\u671F\\u4E2D\\u53D1\\u751F\\u53D8\\u5316\\uFF0C\\u5B9E\\u73B0\\u4E00\\u4E2A stateful widget \\u81F3\\u5C11\\u9700\\u8981\\u4E24\\u4E2A\\u7C7B\\uFF1A 1\\uFF09\\u4E00\\u4E2A StatefulWidget \\u7C7B\\uFF1B2\\uFF09\\u4E00\\u4E2A State \\u7C7B\\uFF0CStatefulWidget \\u7C7B\\u672C\\u8EAB\\u662F\\u4E0D\\u53D8\\u7684\\uFF0C\\u4F46\\u662F State \\u7C7B\\u5728 widget \\u751F\\u547D\\u5468\\u671F\\u4E2D\\u59CB\\u7EC8\\u5B58\\u5728\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u5728 Dart \\u8BED\\u8A00\\u4E2D\\u4F7F\\u7528\\u4E0B\\u5212\\u7EBF\\u524D\\u7F00\\u6807\\u8BC6\\u7B26\\uFF0C\\u4F1A\\u5F3A\\u5236\\u5176\\u53D8\\u6210\\u79C1\\u6709\\u3002\")), mdx(\"h2\", null, \"Dart \\u5F00\\u53D1\\u8BED\\u8A00\\u6982\\u89C8\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://dart.cn/guides/language/language-tour\"\n  }, \"https://dart.cn/guides/language/language-tour\"))), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u6240\\u6709\\u53D8\\u91CF\\u5F15\\u7528\\u90FD\\u662F\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u5BF9\\u8C61\"), \"\\uFF0C\\u6BCF\\u4E2A\\u5BF9\\u8C61\\u90FD\\u662F\\u4E00\\u4E2A\", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"\\u7C7B\"), \"\\u7684\\u5B9E\\u4F8B\\uFF0C\\u5305\\u62EC\\u6570\\u5B57\\uFF0C\\u51FD\\u6570\\u548Cnull\\u3002\\u6240\\u6709\\u7C7B\\u90FD\\u7EE7\\u627F\\u4E0E Object \\u7C7B\\u3002\\u6240\\u6709\\u53D8\\u91CF\\u7684\\u521D\\u59CB\\u503C\\u90FD\\u662F\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"null\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Dart \\u662F\\u5F3A\\u7C7B\\u578B\\u8BED\\u8A00\\uFF0C\\u4F46\\u662F\\u652F\\u6301\\u7C7B\\u578B\\u63A8\\u65AD\\uFF0C\\u5E76\\u4E14\\u53EF\\u4EE5\\u7528\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"dynamic\"), \"\\u58F0\\u660E\\u4E0D\\u786E\\u5B9A\\u7684\\u7C7B\\u578B\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Dart\\u4E2D\\u7528\\u4EE5 \", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"_\"), \" \\u5F00\\u5934\\u7684\\u6807\\u8BC6\\u7B26\\u6765\\u6807\\u8BC6 \\u79C1\\u6709\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u5EFA\\u8BAE\\u901A\\u8FC7\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"var\"), \"\\u6765\\u58F0\\u660E\\u5C40\\u90E8\\u53D8\\u91CF\\u800C\\u975E\\u6307\\u5B9A\\u5176\\u7C7B\\u578B\\uFF0C\\u5982\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"var i = 1;\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"final\"), \"\\u5173\\u952E\\u8BCD\\u4FEE\\u9970\\u53D8\\u91CF\\u8868\\u793A\\u8BE5\\u53D8\\u91CF\\u53EA\\u80FD\\u88AB\\u521D\\u59CB\\u5316\\u4E00\\u6B21\\uFF0C\\u800C\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"const\"), \"\\u5173\\u952E\\u8BCD\\u4FEE\\u9970\\u53D8\\u91CF\\u8868\\u793A\\u8BE5\\u53D8\\u91CF\\u662F\\u7F16\\u8BD1\\u65F6\\u5E38\\u91CF\\u3002\\u5982\\u679C\\u7528\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"const\"), \"\\u4FEE\\u6539\\u7C7B\\u4E2D\\u7684\\u53D8\\u91CF\\uFF0C\\u5219\\u5FC5\\u987B\\u4E3A\\u5176\\u52A0\\u4E0A\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"static\"), \"\\u5173\\u952E\\u5B57\\uFF0C\\u5373\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"static const\"), \"\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"\\u53EF\\u4EE5\\u5C06\\u6784\\u9020\\u51FD\\u6570\\u58F0\\u660E\\u4E3A const\\uFF0C\\u8FD9\\u79CD\\u6784\\u9020\\u51FD\\u6570\\u521B\\u5EFA\\u7684\\u5BF9\\u8C61\\u662F\\u4E0D\\u53EF\\u53D8\\u7684\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Dart \\u5185\\u7F6E\\u7C7B\\u578B\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"numbers\"), \",\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"strings\"), \",\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"booleans\"), \",\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"lists\"), \",\", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"sets\"), \", \", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"maps\"), \", \", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"runes\"), \", \", mdx(\"code\", {\n    parentName: \"li\",\n    \"className\": \"language-text\"\n  }, \"symbols\"), \"\\u3002\"), mdx(\"li\", {\n    parentName: \"ul\"\n  })));\n}\n;\nMDXContent.isMDXComponent = true;","excerpt":"编写第一个 Flutter 应用 Get Start 在 Flutter 中，几乎所有都是 widget，包括对齐 (alignment)、填充 (padding) 和布局 (layout…","frontmatter":{"title":"Flutter 官方文档学习记录","tags":["Flutter","学习记录"],"date":"2020-02-10T19:39:54.000Z","categories":["Blog"]},"fields":{"slug":"/posts/2020/02/10/flutter-guan-fang-wen-dang-xue-xi-ji-lu/"}}},"pageContext":{"slug":"/posts/2020/02/10/flutter-guan-fang-wen-dang-xue-xi-ji-lu/"}},
    "staticQueryHashes": ["163584858","1656825683","63159454"]}