{"id":15136793,"url":"https://github.com/swiftdo/web-demo","last_synced_at":"2025-04-12T12:24:00.361Z","repository":{"id":44336489,"uuid":"344393989","full_name":"swiftdo/web-demo","owner":"swiftdo","description":"Responsive web app powered by Flutter + Appwrite, also support macOS","archived":false,"fork":false,"pushed_at":"2024-09-23T09:02:33.000Z","size":7221,"stargazers_count":74,"open_issues_count":0,"forks_count":15,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T11:44:59.494Z","etag":null,"topics":["appwrite","blog","flutter","flutter-demo"],"latest_commit_sha":null,"homepage":"https://webdemo.oldbird.run","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swiftdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-04T07:55:49.000Z","updated_at":"2025-02-24T03:17:16.000Z","dependencies_parsed_at":"2024-05-28T16:49:22.867Z","dependency_job_id":"0de8e983-bc9c-452c-8c5f-00032cca67a9","html_url":"https://github.com/swiftdo/web-demo","commit_stats":{"total_commits":134,"total_committers":2,"mean_commits":67.0,"dds":"0.11194029850746268","last_synced_commit":"4046259d84b38a06e157b13269bb29686f84062c"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fweb-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fweb-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fweb-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swiftdo%2Fweb-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swiftdo","download_url":"https://codeload.github.com/swiftdo/web-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565520,"owners_count":21125509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appwrite","blog","flutter","flutter-demo"],"created_at":"2024-09-26T06:41:19.689Z","updated_at":"2025-04-12T12:24:00.339Z","avatar_url":"https://github.com/swiftdo.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# web_demo\n\nFlutter 3.29.2 快速构建的一个站点样例，长期维护。\n\n在线预览：[https://webdemo.oldbird.run](https://webdemo.oldbird.run)\n\n## 安装\n\n1. git clone https://github.com/swiftdo/web-demo\n2. 安装 fvm 工具: [leoafarias/fvm](https://github.com/leoafarias/fvm)\n\n   ```sh\n   $ cd web-demo\n   $ fvm install\n   $ fvm flutter run -d Chrome\n   ```\n\n## 支持运行到 macos 上\n\n```\n$ cd web-demo\n$ fvm flutter run -d macos\n```\n\n## 功能\n\n* [x] 文章的添加\n* [x] 文章详情\n* [x] 文章搜索\n* [x] 文章管理，添加和删除\n* [ ] 分类管理，添加和删除\n* [ ] 文章的阅读数\n* [ ] 站点UI设计修改\n* [ ] 添加站点的留言功能\n* [ ] 站点字体修改?\n* [ ] 文章是否需要添加评论功能？\n* [ ] 人员管理，是否要支持多用户?\n\n## 配套课程\n\n- [1. 网络请求篇](https://juejin.cn/post/6940962419355156494)\n- [2. 跨域篇](https://juejin.cn/post/6941744845803225102)\n- 3.状态管理篇: [Provider 中文文档](https://github.com/rrousselGit/provider/blob/master/resources/translations/zh-CN/README.md)\n- 4.路由篇 [go_router](https://gorouter.dev/)\n- 5.url 策略篇：[配置 Web 应用的 URL 策略](https://flutter.cn/docs/development/ui/navigation/url-strategies)\n- 6.上线部署篇\n  - [在 Github 上部署一个 Flutter Web 应用](https://oldbird.run/flutter/t5-flutter-web-deploy.html#flutter-web)\n  - [在 Docker 上部署一个 Flutter Web 应用](https://oldbird.run/flutter/t6-docker-web-deploy.html)\n- [7.自定义启动加载页](https://oldbird.run/flutter/flutter-web-launch-page.html)\n\n## web 开发存在的一些问题\n\n### 1.包体积太大\n\n可通过编译选项控制，[【编译渲染项】](https://flutter.cn/docs/development/tools/web-renderers)\n\n### 2.中文显示有问题\n\nflutter bug, 解决进度可关注：[Load fonts as soon as detecting browser locale](https://github.com/flutter/flutter/issues/77023)\n\n编译渲染项设置为 html，不会出现该问题。\n\n### 3.页面刷新，或者指定 url 无法打开页面\n\n跟 url 策略有关\n\n- HashUrlStrategy，hash 路由，带有`#`, 可直接 github 静态托管\n- PathUrlStrategy, history 路由，也可以直接 github 托管，但是刷新页面会出问题，此类，需要 nginx 做个配置，单页面实际上只有一个页面 index.html，因此将所有的页面都 rewirte 到 index 页面，即可完成配置\n\n```nginx\nlocation @router {\n    rewrite ^.*$ /index.html break;\n}\n```\n\n### 4. SEO 问题\n\n建立一个 seo 友好的网站意味着谷歌和其他搜索引擎可以高效地抓取网站上的每个页面，有效地解释内容，并将其索引到数据库中。一旦编入索引，他们就可以根据用户搜索的主题向用户提供最相关、最有价值的网页。\n\nFlutter Web 的 SEO 能力支持不友好。\n\n可关注该问题 [How Manage SEO In flutter web?](https://stackoverflow.com/questions/71634738/how-manage-seo-in-flutter-web)\n\n\n## Stargazers over time\n[![Stargazers over time](https://starchart.cc/swiftdo/web-demo.svg?variant=adaptive)](https://starchart.cc/swiftdo/web-demo)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftdo%2Fweb-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswiftdo%2Fweb-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswiftdo%2Fweb-demo/lists"}