什么是 alita js 社区

这个文章是昨天发在知乎上的,应朋友的意思,让我在掘金上发一下。前端

从 alitajs 社区创建开始,一直会被问到 什么是 alitajs 社区,它主要是作什么的?ios

其实这个社区最先的时候只有我和 何乐 同窗两我的。git

那时候,咱们在处理 Ant Design Pro@4  相关的问题,由于 Pro@4 须要使用 TypeScript 重写,而我是在今年年初才开始正式学习使用的 TypeScript ,因此有不少 TypeScript 相关的问题须要请教何乐。程序员

因而开始了,我和他较为频繁的技术交流。github

多是沟通的多了,咱们的想法也都比较多,他对云存储云开发兴趣浓厚,我对前端场景化封装和开发工具编写较为感兴趣,或许是相互以为对方的研究方向,在本身将来的学习工做中,均可能会有接触的可能,因而,咱们开始了相互吹捧相互鼓励的交流,考虑到如今在许多部门内部,都有着作全员提效的 KPI 指标。因而拍脑壳,云开发还没到,先搞提效。web

由于咱们两个都是 antd  和 umi 的狂热粉丝,想着否则搞一个 umi 社团,后来讨论,antd 和 umi 挂的名头,都是蚂蚁金服,咱们并无这个资格,否则咱们就本身搞一个呗。npm

因而在2019年4月1号的时候,创建了 alitajs 社区。前端框架

如今好了,社区有了,可是怎么发展呢?咱们两个都没有经验,我想总要有一个什么东西可以吸引到其余人的吧。antd

最终通过讨论,结合了 umi 和 pro 项目在 issues 的常见问题,作了一个 umi 的脚手架封装库,alita 。架构

它刚开始只是做为一个 umi 的配置简化的脚手架,后来通过吸取社区的需求,发现,antd 团队在移动端 h5 这一块的响应需求较少,可是,使用 umi 作移动端开发的朋友却不少。内置了这阶段帮社区朋友开发的一些 umi 插件,达到了,在配置文件中设置 appType:'h5'  就能着手移动端页面开发的效果。

当时,umi 对内提供 bigfish ,对外开源 umi 。我和许多朋友同样,都十分的好奇,bigfish 到底和 umi 有什么差异。其实官方在社区中已经给出了答案,bigfish 只是 umi 结合了内部流程和方案,而对内提供服务的一个 umi 插件集。那时候,我也在想,bigfish 何时会开源。 其实总有一种想法,藏起来不对外的,必定是个好东西。

开发完成以后,我想着,umi 在 蚂蚁金服内部有几千个项目检验,那我是否是应该实际项目中跑一跑 alita 。因而在一次,月报中,毛遂自荐了,alita 框架,大致的抄了 umi 的技术架构,而后结合使用 umi 的好处,和 alita 的好处一块儿,一股脑的推给了领导。领导最终赞成了,在咱们的一个新项目中试用。和 RN 技术作了对比。多是 RN 的开发体验太差了,显得 alita 开发体验良好。

项目上线以后,和领导讨论了,使用 RN 开发的人员,能够无缝的转换到 alita 上,由于在配置和环境上作了大量的简化,而在语法上是一致的用法。在只作减法,不作加法的技术更新的诱惑下,在咱们整个部门内落地了 alita。

后来,是有一个项目,须要打包成手机 apk ,要作混合应用。领导来问我,能不能作,alita 有没有能力接。我就说有。心想着 cordova 可以把一个普通的 web 项目打包成 apk ,那确定能够把 umi 的产物也打包了。

因而开发了 umi-plugin-cordova ,事实上并非这么简单。但最终在ios开发的帮助下,解决了一些问题以后。发现它居然莫名的好用。cordova 开发,居然也能够热加载了。

写完cordova插件,我才想明白了,bigfish 可能更多的是一种相似的场景化需求,他依托于阿里内部大量的服务支撑,作的更多的是对内部方案的调用和响应。因此其实不是给不给的问题,而是给了能不能用的问题。可是在社区中,是否是也有相似的场景化需求,或者第三方服务提供商的用户,他们是否也存在共同的需求?

通过几个项目的落地,领导以为,后续部门内新增的项目,所有使用 alita 。(以上提到不少次领导,其实除了拍马屁以外,我是想表达,其实领导喜欢,真的会更快的推动技术方案的落地)而后我就混迹在多个项目之间,把他们几个项目的公共需求,结合到一块儿,可以经过框架支撑的就经过框架支撑,不能的,就经过公共组件支撑。也是由于这个过程,我就在想,咱们内相同技术栈的就有这么多的重复工做,那在社区上的不是更多吗?

因而就开始在社区上推广,加了三石 、王幸康 、 hang1017 和 陈杰 ,写了rc-charts 和一些组件的封装。

那时候DiamondYuan  开发了umi 的vscode插件 ,而我恰好想和五灵alibaba/kiwi把 alibaba/kiwi 的方案落地到 umi 中(虽然这个事情暂时被耽搁了),因此请教了 DiamondYuan。

后来,由于作 umi 的 keep alive 方案,加了 fi3ework 。

由于文档方案 milady  加了 鬼厉 。

由于 alita 框架定位和 antd-icon  的一些问题,邀请了包子熊 。

后来,又由于 keep alive 方案,认识了 陈俊宇 ,(他的 React 中的状态自动保存(KeepAlive) ,相信有些朋友都看过了)咱们在 umi 中有两个方案尝试:umi-plugin-cache-route 和 umi-plugin-keep-alive 。

期间还有其余的一些朋友,据说了 alita ,也加入了咱们。虽然,有些朋友由于业务上的繁忙,没有时间投入开源项目中;也有一些朋友,机智的将本身业务中的需求,提出来,让社区里的朋友帮忙实现,彻底享受着社区带来的福利。其实,这些行为都是 alitajs 社区提倡的。在平时交流中,分享一些技术和业务,老是可以给你们提供一些帮助。

回过头来讲,虽然咱们在公司企业的项目中不必定会选用本身的开发的方案,可是,在 alitajs 社区,咱们都会互相鼓励造轮子,由于开源最大的乐趣就是开源。

经历了9个月的发展,若是再有人问我,什么是 alitajs 社区?

它是一群抱着相互赋能相互提效想法的小伙伴聚在一块儿作着一些简单开源项目的团队。

它是作什么的?

alitajs 社区专一于业务开发,让你无需关注底层技术实现。

恰好昨天有一个朋友在群里问:沉浸在业务中的程序员要怎么突破迷茫期和瓶颈期?

我想加入 alitajs 社区,必定会对你有所帮助的。

umi 是蚂蚁金服的底层前端框架,它好用好用好用,强烈推荐,而后若是大家用了pro@2+,大家就已经在用了umi。请给 umi 一个 star 吧! github.com/umijs/umi

相关文章
相关标签/搜索