前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >原生开发探索

原生开发探索

作者头像
chuckQu
发布2022-08-19 14:16:37
2460
发布2022-08-19 14:16:37
举报
文章被收录于专栏:前端F2E

项目简介

目前甄别系统使用vue2技术栈开发,包括vue2vue-routervuex以及ant-design-vue,使用到的与vue相关的插件包括vuedraggablevuex-persist

发现问题

去除框架相关,采用原生进行开发需要处理以下问题:

  • 目前前端方案采用的是CSR+SPA的方案,如果摒弃vue框架,那么可以采用SSR的方案进行页面的渲染;
  • 采用web components Web 官方工程化解决组件化的问题;
  • 使用Object.defineProperty手动实现组件内部视图与数据的通信问题;
  • 手动处理DOM元素事件绑定的问题;
  • 处理组件与组件之间通信的问题,实现发布订阅模式,监听组件事件;
  • 处理全局状态管理的问题,并实现持久化存储;
  • 根据HTML5History规范,手动实现路由跳转的功能。

灵感来源:web-component[1]

解决问题

  • 组件化使用开源框架shoelace[2] ,不依赖任何框架,采用web components
  • 手动实现视图与数据的通信,也就是双向绑定;
  • 采用jQuery来操作DOM,进行事件绑定;
  • 组件之间通信使用mitt[3]进行实现;
  • 全局状态管理使用redux[4]进行实现;
  • 手动实现路由跳转功能,代码可以参考route[5]。

总结

框架的诞生大大提高了前端开发的效率,但是我们也要具备摒弃框架也可以开发项目的能力。可以深入了解框架底层的原理,要做到知其然并知其所以然。

Reference

[1]

web-component: https://github.com/yalishizhude/web-component

[2]

shoelace: https://shoelace.style/

[3]

mitt: https://github.com/developit/mitt

[4]

redux: https://github.com/reduxjs/redux

[5]

route: https://github.com/biaochenxuying/route

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端F2E 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目简介
  • 发现问题
  • 解决问题
  • 总结
    • Reference
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档