前端思想实现:面向UI编程_____前端框架设计开发

      引子,我去小说看多了,写博客居然写引子了!!!不过,没引子不知道怎么写了。言归正传吧,前端这个职业,也就这几年刚刚火起来的职业,之前那个混乱的年代,前端要么是UI设计师代劳解决问题,要么就是后端程序员小帅哥稍微代劳一下,百度一下,google一下,ctrl+c,ctrl+v,而后搞定了,没啥事了,反正能用。反正前端html+css+js 就是一种小语种,没人当个宝。css

  可是随着技术的发展,人们对于任何事物在看重实用性能的同时,也愈来愈重视自个人体验,好比当前流行的互联网企业,除了要有出色的性能和实用性,还要有良好的界面、客户体验,这样才能吸引人。因此对于初创的互联网公司来讲,最烧钱的时候就是刚刚得到风投或融资的时候,由于那时候尚未客户访问,因此他们不得不把钱砸向前端,只有作好前端技术、客户体验,一切才有可能。当有了来访者,访问的人多了,才会优化后端,作客户分析等等。因此互联网公司得到融资后的第一件事每每就是招聘Web前端开发人员,先把前端和用户体验作好,打好发展第一炮,这也是为何Web前端开发这么火、工程师薪资高的重要缘由。html

  可是,这时还不能算最火,真正引爆前端的是,移动端的兴起和爆发,这样才真正促成前端开始火热。并且随着H五、C3的推出、各类框架的热潮、模块化啥啥啥的、外加薪资的涨幅等等,真正带动了咱们如今作的这是职业-----前端开发工程师前端

  有点跑偏了,如今回归正轨。咱们如今开发的前端,尽管如今推陈出新了不少技术,可是不少公司,说白了,仍是搞着最原始的开发,即这边搞一段HTML,那边加个CSS,最后搞点js来,凑合凑合搞成一个页面,没有什么所谓的正规。致使前端开发真正的难维护。这只是其中一点。也是致使不少程序员最不肯意的就是维护别人代码,想死的心都有。下面列举一些我遇到的状况程序员

    • 2W多行的js代码混杂html,从上翻到下也的好几分钟
    • 全局变量局部变量混杂不清
    • 代码重复率很高
    • 每一个function中串了不少不少业务代码
    • ......

  我想,不只是我,谁看了都头疼,反正我直接拒绝维护。哈哈编程

  这时候会有不少人跳出来,不是有了模块化呀啥啥啥的,这个还有必要吗?我想了想,确实不必,可是别急,这也是一种高效开发风格和高效可维护风格,毕竟做为一种可选方案仍是很好的。后端

  面向UI编程,以UI为基础,以数据为核心。框架

  解释一下,这里的UI不是UI给出的UI图,而是咱们写出来的html;数据不是静态写死的,而是咱们经过各类方式得到的数据,而后塞给html。再加上div布局方案,一个网页很容易进行布局开发和高效维护。下面直接上图解释:模块化

上面只是结合div布局,将页面分模块进行分别开发。可是,布局

    • 根据原子编程思想,即每一个开发子单元应该只应该完成一件事,就和一个原子同样,做为一个最小单位;
    • 以及简洁设计思想,应该将每一个设计划分到最小模块和细节进行设计,而后兼顾和拼凑总体设计;

根据这2个思想,面向UI编程的第一步固然是不可取。每一个UI模块的代码量和数据量十分大,根本不是高效开发和高效维护的榜样。其实可能有些人也想到了一些,将这4个大模块,再进行UI划分。性能

对的,将一个大的UI模块,再进行细小UI模块划分,见下图:

  正如页面上所写的,我将每一个UI细分到原子层面,对于整个页面生态来讲,缺乏一个原子,不会让整个页面坍塌。就算我下线维护,我只要卸载一个我要维护的模块,而后我进行线下开发,而后开发完毕,再进行装载。这样就达到了一种电脑上usb的效果,热插拔的效果,这样对总体是没有影响的,你有没有我都不会崩溃,只是多了你,我多了一个功能,少了你,我只是没有这个功能而已。

  正如面向对象思想那样(相信大部分程序员都知道面向对象思想把,虽然我也没对象,嘻嘻),以对象为基础,将最小原子分为对象,而后进行对象组合,原子对象组合成小对象,小对象组成大对象,大对象组成史前对象等,而后将功能根据业务和技术进行组建,达到咱们所要的效果。

  固然啦,这个思想还不是很成熟,有不少欠缺的,好比模块之间的关联关系,数据的流转以及变化等等,不过还在摸索,有什么好的建议,但愿你们一块儿提出来,咱们一块儿商量,毕竟集思广益嘛。

  我相信面向UI编程不少人都这样想过,也这样作过,只是没达到一种共识和快速开发的方案。我这里提出来,其实我也是思考了好久,作了不少技术积累和思想积累。想将这个思想搞成一个前端的js框架的。

该框架的一些基础功能:

    1. UI模块的识别和装载
    2. UI模块的控制(包括装载和卸载)
    3. UI模块的data配置
    4. UI模块的数据流转
    5. ....

  还有不少功能,不过就先实现这些功能。也为前端快速开发和高效维护贡献本身的一份力量。

  大概的布局和设计以下:

 

 

 

PS:由于流转过不少公司,代码风格千万遍,维护根本进行不下去。代码规范几乎等与虚设,一些布局思想,开发思想等几乎等与放弃。从不按套路出牌,怎样顺手就怎样。埋了多少雷,后面的估计屎都会炸出来的,哎,阿门!

相关文章
相关标签/搜索