choujimmy / jmui

Mobile UI React Components

Home Page:https://choujimmy.github.io/jmui/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

为什么需要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网页中去, 有组件使用的代码演示。