bnorth: why me

日期: 25 Dec 2018   

bnorth 的理念是,由 bnorth 去跟随大前端的主流思想和优秀项目,再提供统一的 bnorth 风格接口。并在使用过程中,将丰富的功能以插件形式逐渐积累完善。最终的目的是,使用 bnorth,无需在海量的 github 资源中摸索,而是通过统一的 bnorth 风格接口去使用,达到快速开发的目的。

bnorth 诞生记

工作量年头长了就会有大量重复工作很是不爽,好在聪明的程序员前辈们,编写了很多优秀的框架。

bnorth 的特性

  1. 一站式工具集

    bnorth 不仅是 react 最佳实践,不仅是 mvc 框架,不仅是 react 组件库,而是一个大前端的综合一站式解决方案。包括了 web 应用搭建,hybird 打包,以及通过扩展实现的相关功能,比如 im,语音识别等等。可以根据需要选择工具集中的组件完成应用的快速开发。

  2. 体系化

    bnorth 采用体系化的设计,各个组件紧密结合,使性能达到最大化,复用达到最大化。比如为了提供 css 的易用性,bnorth 开发了 rich.css 样式库,而 components 组件库则完全在 rich.css 之上进行开发。业务页面也采用 rich.css 开发,达到体系内紧密结合。同时也对 npm 上的其他库保持开放。

  3. 插件机制

    bnorth 参考了主流的框架设计思想,采用微内核与插件扩展机制。提供更好的定制和扩充性,降低了体积。也为 bnorth 逐渐积累功能,形成一站式开发套件的核心思想提供了技术可行性。

  4. 深度可定制

    bnorth 的设计思想是,提供最便捷的使用方法和最大的适应行。为了便捷,bnorth 提供丰富的内容,实现 0 配置使用。同时通过 js 的特性和植入在代码中的可定制机制和可配置机制,使得 bnorth 工具集可组合,可选择,可定制。

  5. rich.css

    rich.css 用创新的方式,实现了动态的,可定制的,全覆盖的 css 样式库。无需 css 文件,实现 class 属性编程。

数字与案例

通过几个实际的案例,来只管感受下 bnorht 带来的提升:

  1. 代码量缩减 70%

    在对一个使用 backbone 架构的老工程进行 bnorth 改版后发现,代码量从 26755 行缩减到 7667 行。这得益于 react 缩减了大量无用的 selector 代码和性能优化代码,es6 使代码十分紧凑,加上 bnorth 封装了大量代码,缩减了 70% 代码也不足为奇

  2. 开发速度提高 40%

    有了代码量的缩减,加上 react 带来开发上行云流水的体验,(不用往来于 html 和 js,id 和 selector,request 与 innerHtml)。因为 统计时 bnorth 还不完善,开发过程还在同时更新 bnorth,因此当 bnorth 成熟后,时间应该能再提高一些

  3. 商城开发 1人月

    包含了线上与线下的手机和 pc 端的 web app 积分商城,因为是对老版商城的改版,逻辑和接口清晰,改变在 1个人月内完成

  4. 办公类的 hybird app 开发周期 0.5 人月

    某省的察访核验系统前端,以地图驱动,包含语音,文字,图片等丰富的察访内容。以及 即时通讯和周边相关功能组成的 app