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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
👋 你好!这里是 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