我对UI框架的一些想法

最近一年多一直在做UI库,从 SUI Mobile -> Light7 -> jQuery WeUI。自己也在做的过程中对UI库类的产品有了更深入的认识,SUI Mobile 和 Light7 有一个很大的问题在于:试图用一个轻量的基于jQuery的库,来做一个重量的框架应该做的事情。比如它定义了Page的概念,整个页面的结构,使用了异步加载的路由,这些会导致本来一个很轻量的库变得不那么容易使用了,本来可以做到只用几个组件即可,现在却必须把一整套东西全部用起来。如果你想用对话框却不想改变自己的整个页面组织,就必须修改对话框的代码。而且,它自己实现的router 会导致很难迁移到 Vue or Angular,因为它做了一部分本该由另一个JS框架做的事情 。

因此,当微信官方团队出了WeUI 项目之后,我迅速开发了 jQuery WeUI,并且它会是一个长期稳定的项目。因为我在这里彻底放弃了一个轻量的UI库不该做的事情,只专注于做一组拿来就可以用,几乎零成本,可以结合任何主流JS框架,几乎不会和任何现有代码冲突的UI库。

所以经常有人问 jqweui 什么时候会出路由,我的回答是这个根本不在计划内,未来也很可能不会有。如果你需要用到路由,那么建议结合 Vue or Angular 来使用,而不是用一个独立的 router 组件。

vue-mobile

也正是因为上述原因,我比较了目前主流的三个JS框架 Vue, Angular, React 之后选择了 基于 Vue 来做一个新的项目,这个项目诞生之初的目标就是为了开发大型的单页应用。它不是一个简单的 Vue 套壳,而是完全用 Vue 重写了所有的组件实现。样式上主要还是来自 WeUILight7 ,因为我并不是很擅长做设计,不过这次会借鉴很多主流的UI库,也会自己尝试设计一些组件,尽力覆盖大部分的常用控件。

那么vue-mobile有哪些优势呢?

  1. 完整的页面结构,header, content, footer
  2. 基于 vue-router 页面切换
  3. 以 Component 形式提供的组件,更加容易拓展和自定义
  4. 基于 transition 实现的 CSS3 动画
  5. Vue.js 带来的良好的开发模式:模板,数据绑定,组件化,自动化,资源统一化

肯定会有很多人问会jQuery用的好好的为什么要这么折腾?

jQuery 可能未来十年内都不会落伍,但是前端技术日新月异,无论 Vue, Angular, React 是不是未来的趋势,至少本阶段他们可以解决很多以前很难解决的问题,也很大程度上推进了前端的技术发展&开发效率。一个好的程序员应该能紧跟技术的发展,不能在一棵树上吊一辈子。我也在不断的摸索中,Vue 也许不是最佳选择,但至少是一个对大多数项目来说都非常棒的选择。

至少现在来看, Vue能明显提升开发效率,在开发大型应用的时候也能很好地通过模块化组织来保证代码的可维护性。现在的前端开发重点已经不是样式和兼容性,而是如何构建大型的、高效的、可维护的应用。传统后端开发已经在这方面做得非常好了,前端还处在探索阶段,而 Vue 这一类的框架目前是做得最好的。

可能这类框架再过五年就会销声匿迹,被更新更好的框架取代,但是并不妨碍我们去研究和使用它。

更多内容,请移步 github 地址:https://github.com/lihongxun945/vue-mobile

Logo

前往低代码交流专区

更多推荐