为什么需要jmui,又是一个重复造轮子的项目吗?
choujimmy opened this issue · comments
前言
这三年多连续做了7个h5的项目,从最开始的express渲染jade模版,zepto写前端js,less手写css,到后来的ratchet,再到react,几乎每个项目都是在总结前一种方案的优缺点,然后再根据项目的实际需要去寻找一种合适的解决方案,但是几乎每种方案总会有一个共同点:移动端h5的ui框架总是伴随着其技术框架的。
各种UI方案的选择
- css纯手工打造
- JQuery Mobile
- Sencha Touch
- Ratchet
- Framework7
- TouchstoneJS
- Reapp
- MaterialUI
- AmazeUI
遇到的困难
上面的方案我基本上都在项目中用过,但总是有各种各样的不满足需求的地方:
- 手工写css,各种浏览器适配难度太大
- 框架的css包太大,网络加载慢
- 框架的组件功能由js实现,和技术方向不一致
- 我真的不需要一个庞大的jquery
- 要在微信浏览器内运行的,没法套webview来装纯
- 用户不习惯material风格,需要中性一点的ui
- 你把除了ui的都做了,路由、表单验证、网络请求、动作分发、数据传递这些在react的生态中有更多的好用组件,不用你的还不行,耦合太紧密
- 要做spa,页面切换动画动画动画
- 亲,0.14了,马上v15了,没有mixin了,别太监了
由此产生的想法
这两年来的项目我基本上已经放弃了react生态外的其它方案,就是一个视图层的方案嘛,其它什么好用我用什么,路由\controller我有react-router,网络请求我有superagent,表单验证我有react-form,model层我有redux,喜欢偷懒我有es6,有babel帮我编译,有webpack帮我打包,喜欢es5我也可以撸。嘿!ng-你为什么就那么大捏?
React! So cool!
说回到重点
三个项目,积累了很多组件,趁着创业失败后的这点空闲时间,把一些基础性的移动端ui组件分享给大家。因此,有了jmui这个项目(m=mobile哦,期待jdui吗?)
核心思路
- 我仅仅是ui库,解耦,其它东西爱用啥用啥
- 萝卜白菜,各有所爱,material和ios风格都有
- 内联样式?no,有人要服务端渲染的,要给虫子来抓的
- css要小,我真的只有84k
- 该有的组件你得有吧
- MIT授权,你想怎么改怎么改,写得不好的地方麻烦pr,别骂我
目前进度
请见readme
还有什么要做的
- 更多的组件(部分常用组件我已经在整理中了,这两个星期内应该能补充完成)
- kitchen sink功能演示,这个星期内补充完现有组件的,后面的完成一个组件即加入到kitchen sink
- 文档,文档,文档
- 适配,适配,适配
- ........
demo需要完善哈, 得把所有实现的控件放到demo网页中去, 有组件使用的代码演示。
不错