-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【提案】 将内核独立,提供编译单独应用包 #221
Comments
这篇我要求你来写,是要你先用你的方法做一遍,然后我再教你一遍我的方法。这样你会有一个对比。参考我的方法,一定程度上能辅助加速你的思维迭代速度。 这篇文章开始写之前, 首先需要明确你的愿景。就是为什么需要做这个事情,它有什么意义,尽可能多方位地考虑各种有直接关联的角色,思考他们能得到什么切实的好处。(这就是“以人为本”) |
紧接着,在这些愿景上,可以进一步细化一些专业性的东西。这里我考虑的是“跨平台”这个点,所以相对应的优势也是围绕开发者和产品能获得的 “优势” 来展开,这个过程中,你可以对比同类竞品,来强调优势,比方说:
对比的过程也是强化自己愿景和信心的过程 |
做完这些思考,你基本对你要做的事情已经比较清晰,接下来就是对任务的细化。此时需要的是两步走,第一步是 “想象”,第二步是 “时间” 。 关于想象力,正如你做的,想象作为用户,看到的应用的启动、使用的过程;想象作为开发者,开发应用的过程。
完成“想象”后,接下来就是要面对现实,此时就是关于“时间”,你需要规划出“最小里程碑”。第一步很重要,需要你自己以最小的代价完成一个可用版本。比如我们可以针对 ssg 的 webapp 开发者,提供最小里程碑版本。
以上只是列举了部分内容,需要根据时间逐步拆分。 cmp 代表的是最朴素的原生 GUI 开发,绝大多数问题其其它框架也无法避免的,甚至可以说并不能做的比 cmp 好。可以说其它框架能做好的 cmp 也能做好,其它框架做不好的 cmp 也有办法能做到。 目前 kmp 最大的问题其实在于它要涵盖的工作内容太多了,导致鸿蒙的支持一直没上线,也很难上线,目前只能等到 2025 年下半年国内一些其它厂商向上游提交解决方案。 |
落地步骤
|
当前
Dweb Browser
提供的架构还缺少独立应用的能力,以下是一些实施过程。启动屏
splash-screen.nativeui.browser.dweb
为了适配单独的应用包,启动屏必不可少,并且也能适配HTML页面首页渲染的白屏。或者适配一些营销需求。
模块整合
模块整合有三类 核心模块,按需导入,必须移除。
核心模块
核心模块不可移除,包含:
dns.sys.dweb
: 路由关键模块。jmm.browser.dweb
: 提供页面渲染服务。js.browser.dweb
: 提供可编程后端服务。boot.sys.dweb
: 模块启动服务。file.std.dweb
: 文件服务。http.std.dweb
: 网络服务模块。permission.sys.dweb
: 应用权限管理模块。按需导入
针对用户引用的包如果能做到按需导入,移除不需要的模块,将大大减少应用体积。
plaoc
所包含的插件都可以按需移除,比如:geolocation.sys.dweb
。必须移除
desk.browser.dweb
: 桌面模块。web.browser.dweb
: 浏览器模块。以及桌面上所有的模块,比如快捷指令,智能扫码,关于等模块。
The text was updated successfully, but these errors were encountered: