Replies: 2 comments 1 reply
-
想要: SSG 🎉 一些场景下, 组件状态是很少变更的, 比如介绍页面, 资料库, 用户须知, 页面多语言文案等。 为了提升可维护性, 这些页面的数据可能用状态来管理, 而不是直接通过模板来'hard code', 价值: 提升了用户体验(所有SSG的价值), 加载速度快, 节省服务器负载 |
Beta Was this translation helpful? Give feedback.
1 reply
-
喔,做得很棒,支持 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
👋 你好!这里是 uni-helper 团队!我们的目标是让 uni-app 开发过程更直观、高效,开发体验更出色!
你可能已经使用过我们提供的产品,比如:
更多产品可以探索我们的 官网!如果你还没有使用过我们的产品,欢迎尝试一下♥️
我们在这里分享我们的 2024 年路线图,希望你可以给我们一点反馈:
让我们正式开始吧!
uni-pages
uni-pages 主要包含三个部分:
vite-plugin-uni-pages
作为核心,提供了基于文件的路由系统,你可以把它理解为uni-app
生态下的 vite-plugin-pages。基于vite-plugin-uni-pages
,你可以使用pages.config.ts
来生成pages.json
,享受完整的 TypeScript 支持。在我们创建这个产品的时候,unplugin-vue-router 还处于很早期的阶段,所以我们在实现时参考
vite-plugin-pages
比较多,而现在更为推荐unplugin-vue-router
。我们期望在 2024 年参考它以做跟进,比如实现
definePage
等。事实上,已经有团队成员尝试增加definePage
(见 uni-helper/vite-plugin-uni-pages#145),但由于各方面原因暂时搁浅,未来我们会继续跟进。volar-service-uni-pages
为<route>
块提供智能提示。借助 Volar 的力量,<route>
块可以拥有智能提示,减少出错的可能。但是在 Volar 发布 v2 之后,由于各方面原因,我们没能及时跟进这部分内容。我们期望在 2024 年跟进 Volar 改动,继续提供良好的智能提示,让 uni-app 开发体验更出色。
pages-json-schema
使用 TypeScript 类型生成针对uni-app
的pages.json
的 JSON Schema。你既可以在 JSON 文件中设置$schema
来直接使用,也可以通过 VSC 插件 来使用。在前不久,我们已经根据官网信息更新了一次相关的文件内容。我们期望在 2024 年继续定期跟进
uni-app
官网信息以更新相关类型和 JSON Schema,提供良好的类型提示体验。uni-layouts
正如
vite-plugin-uni-pages
对标vite-plugin-pages
一样,vite-plugin-uni-layouts 对标了vite-plugin-vue-layouts
,为uni-app
提供了基于路由的布局,可以和vite-plugin-uni-pages
结合使用以获得良好的开发体验。我们期望在 2024 年继续参考跟进
vite-plugin-vue-layouts
的改动,提供更好的约定式路由系统和布局体验。uni-manifest
vite-plugin-uni-pages
针对的是pages.json
,而 vite-plugin-uni-manifest 针对的则是manifest.json
。你可以使用manifest.config.ts
来生成manifest.json
,享受完整的 TypeScript 支持。我们正准备根据官网信息更新相关的文件内容,并推出
manifest-json-schema
。同样地,我们期望在 2024 年继续定期跟进uni-app
官网信息以更新相关类型和 JSON Schema,提供良好的类型提示体验。目前,你可以通过 VSC 插件 来使用。uni-promises
尽管
uni-app
已经支持 API Promise 化(见 https://uniapp.dcloud.net.cn/api/#api-promise-%E5%8C%96),但我们认为这还远远不够。Vue2 和 Vue3 默认返回格式不一致,需要手动调整,强制要求不能传入 success、fail、complete 参数,TypeScript 类型存在问题,这些都造成了不小的心智负担。我们认为
taro
在这一方面做得更好,受其启发,我们创建了 uni-promises 这一产品,基于回调方法封装 Promise,轻松地同时支持 Vue 2 和 Vue 3,并提供良好的 TypeScript 类型提示。我们期望在 2024 年跟进更多的 API,提供更好的开发体验。
uni-use
在 Vue 团队官宣组合式 API 后,组合式 API 就成为了 Vue 开发的焦点,VueUse 的出现更进一步地推进了组合式 API。遗憾的是,
uni-app
并不属于开发 Web 生态的一部分,所以我们不会在 VueUse 中看到相关的支持(见 vueuse/vueuse#1073)。在这样的背景下,我们创建了 uni-use 这一产品。它优先考虑
uni-app
生态环境下的 API 支持并封装了组合式方法,你可以结合@vueuse/core
等通用包在uni-app
开发环境中使用。我们期望在 2024 年与社区讨论
uni-use
的发展,期待你的反馈。uni-(app|cloud|ui)-types
我们热爱 TypeScript,我们认为 TypeScript 可以为你提供更好的开发体验,包括但不限于智能提示、编译时检查等。得益于 Volar 的强大功能和作者 @johnsoncodehk 的辛勤付出,我们现在提供了
uni-app
、uni-cloud
和uni-ui
相关组件的 TypeScript 类型(见 uni-app-types、uni-cloud-types、uni-ui-types)。在正确地配置后,你可以享受到完整的 TypeScript 支持,就像你使用 element-plus 等组件库提供的组件一样。我们期望在 2024 年确认 Volar v2 是否对这些包造成了影响,同时我们也希望审视
Event
相关类型,以提高 H5 下开发的兼容性。如果没有意外,v1 稳定版将在今年内与你见面。axios-adapter / uni-network
axios 毫无疑问是目前最流行的请求库之一,而如何将它移植到
uni-app
环境中使用也是一个值得讨论的问题。我们内部提供了两种方向的解决方案,第一个是 axios-adapter,借助 adapater 和 polyfill 等内容将
axios
完整地搬到uni-app
上,但是体积占用相对较大。而 uni-network 则选择从头匹配,使用 TypeScript 构建源码,精简了内容并保留了最核心的部分,体积占用相对较小。我们并不强求二者必须合一,我们认为在不同场景下两者有各自的优势。我们期望在 2024 年继续跟进
axios
的动向。如果没有意外,uni-network
v1 稳定版将在今年内与你见面。unocss-preset-uni
UnoCSS 是强大的原子化 CSS 引擎,提供了愉悦的原子化 CSS 使用体验。和 VueUse 类似,
UnoCSS
并未充分考虑uni-app
开发环境,也因此,我们创建了 unocss-preset-uni,这是专为uni-app
打造的预设,为你提供同样愉悦的原子化 CSS 使用体验。我们目前正在着力于支持
UnoCSS
v0.59 所带来的破坏性更新,期望在 2024 年可以持续优化相关内容。vite-plugin-uni-tailwind
TailwindCSS 是目前最流行的原子化 CSS 引擎。我们创建了 vite-plugin-uni-tailwind 这一产品,支持在
uni-app
中使用TailwindCSS
原有语法开发小程序。我们主要从 mini-program-tailwind 和 weapp-tailwindcss 中获取了灵感,在这里特别感谢它们。
我们期望在 2024 年跟进
TailwindCSS
v4,同时也考虑处理UnoCSS
所生成的样式类,以带来更好的原子化 CSS 开发体验。vitesse-uni-app
vitesse-uni-app 是一个由 Vite & uni-app 驱动的跨端快速启动模板,它更注重小而美,不追求大而全。你可以通过 create-uni 来获取
vitesse-uni-app
。同时,我们也注意到,不少朋友可能更需要一个大而全的模板,又或是需要一些选型指引,我们期望在 2024 年补充
vitesse-uni-app
的文档,同时也尝试进一步完善 awesome-uni-app 的内容,提供更好的指引方向。uni-deploy
uni-deploy 是很早期我们的一个尝试,它支持自动化部署
uni-app
应用,灵感源于 taro-deploy。遗憾的是,由于各方面原因,我们没能继续开发下去。相应地,我们目前推荐 uni-mini-ci 或参考 实现自动上传微信小程序的 Vite 插件:从头到尾分解实现 自行实现。
目前
taro
官方提供了@tarojs/plugin-mini-ci
,我们将视情况讨论决定是否重启uni-deploy
对标实现类似的功能,欢迎反馈讨论。友好合作
从
uni-helper
最初启动开始,我们就一直避免重复轮子,并尽可能地与通用的包、库结合,让用户在 npm 和 node_modules 生态中找到熟悉的感觉,让用户继续受益于社区生态。我们的unocss-preset-uni
就与 unocss-applet 展开密切合作以支持UnoCSS
。我们希望继续保持这种友好合作的态度,让我们一起走得更远。
可持续性
开源并非易事,我们都是在业余时间内凭借热情和热爱来做出自己的贡献,包括你当前看到的这一篇文章也是在业余时间写出。你可以在很多地方了解到开源的困难,比如 开源社区的暗面、一位疲惫的维护者的笔记、开源的心理建设 等,我们在这里也不打算过多地讨论这一点。
是社区和朋友让我们走到了现在这一步,我们也一如既往地鼓励有意愿增强
uni-app
系列产品的开发体验的朋友与我们一起贡献,即使是优化文档,我们也非常欢迎,我们期望能构建一个更广泛的uni-helper
团队、一个更活跃的uni-helper
社区,以保证uni-helper
的可持续性。如果你的公司或是你个人已经从我们的工作中受益,请考虑赞助我们的成员,无论是团队成员还是更广泛的社区成员,或是以其它方式回馈我们,比如提出合理的建议意见、提交 PR 等。同时,我们也打算根据 awesome-oss-monetization 做出一些改变,但请放心,你仍然可以继续免费使用我们目前提供的所有库(白嫖快乐🎉)。
小结
最后,非常感谢你在我们构建♥️
uni-helper
相关产品过程中给予的信任、支持与反馈。与你、与社区内每一个人,共同努力让 uni-app 开发过程更直观、高效,开发体验更出色,这是一种荣幸。ModyQyW(代表整个
uni-helper
团队)Beta Was this translation helpful? Give feedback.
All reactions