博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
程序员心理看WEB开发框架
阅读量:4600 次
发布时间:2019-06-09

本文共 1138 字,大约阅读时间需要 3 分钟。

以下只能说是我的个人开发的感悟。

从做网站到现在做WEB端的应用,我度过了三个时期:

一、使用框架来搭建自己需要的系统。一开始是大框架如drupal(这里我更倾向于称drupal是框架而不是cms),后来觉得过于笨重。于是改用codeignitor等小框架。

二、不再完全使用框架的MVC。而是用框架做服务端数据接口,只提供纯数据,由前端进行逻辑处理和渲染。

三、前端从简单的“分模块,渲染与逻辑混合”,到“分模块,面向页面元素的MVC”,再到“分模块,事件驱动的,面向切面的MVC”(稍后详述)。

 

为什么会有这三个时期的转变,实际上很大程度是由我对开发过程的希望驱使的。这些希望是这样的:

  1. 当需求确定好以后,首先我希望在前后台单独开发,只要约定好数据接口就行,这样如果有人来帮我,可以很快的互不打扰地进行。而且可以很灵活的各自用虚拟数据测试。
  2. 当我开发前端时,我想要渲染和逻辑完全分离,这样我就可以写逻辑的时候专心于逻辑。保持代码整洁。最重要的是随便页面怎么改,只要业务大体不变,逻辑就可以写好了不用再管。这就引进了前端MVC,实际上就是简单的数据集和渲染的关系。
  3. 我希望逻辑事件的触发是由页面来决定的,并且怎么变都不用再动写好的逻辑层(本质意义上的不动,连文件都不用打开)。这就引入了事件驱动,逻辑层只用监听感兴趣的事件(包括和服务器端的通信也可以用事件驱动),只用触发自己完成后的事件,什么都不用管。渲染层也是如此。
  4. 我希望页面的事件如click, dblclick等能和逻辑事件分离,最好我在这些元素上指定一个特定的属性,它就能给我自动转换并去触发逻辑事件。这样我写js的时候就只用管特效就够了。这就引入了页面事件代理(详见上一篇关于ace-engine)。这样可以随便采用什么页面模板就没关系。

以上四点的希望就是我目前开发的理想状态,重点是“简单、重用”,这里的重用实际上指的是“容易加新功能”,“容易应对需求修改”,“容易找bug”。心有余力的话才是“下次还能用”。我想这也是很多和我同样的程序员所迫切需求的吧,虽然我觉得这个层次很低啊,哈哈。下面简单讲如何实现。

  1. 前后分离很容易,做好约定就行了。
  2. 前端mvc可以采用backbone,也可以采用简单的数据集和模板来做。
  3. 对于spa来说,通过定义一个全局事件,各个模块用自己的模块名作命名空间就行了。建议全部事件都通过这个全局的来驱动。使用了backbone的话,不建议直接使用backbone的模型的事件。
  4. 建议采用ace-engine的ace-template,也可以自己写。

 

 

 

转载于:https://www.cnblogs.com/sskyy/archive/2012/06/01/2530718.html

你可能感兴趣的文章
In Place Algorithm
查看>>
iOS真机调试步骤
查看>>
[国嵌攻略][169][嵌入式播放器移植]
查看>>
vue-v-for
查看>>
易游数据劫持获取和易游取数据工具
查看>>
剑指offer——最小的K个数
查看>>
python将PNG格式的图片转化成为jpg
查看>>
C++学习笔记-const
查看>>
C学习笔记-小程序(长期更新)
查看>>
关于listView 中的聚焦问题
查看>>
Shiro学习(总结)
查看>>
C指针解析 ------ 指针的算术运算
查看>>
rabbitmq安装与高可用集群配置
查看>>
英语-托福英语学习(单词一)
查看>>
QCC3003x BLE 设置私有地址
查看>>
Oracle SQL
查看>>
Webkit内核自定义滚动条样式
查看>>
JSP转发和重定向的区别
查看>>
简单使用JSON,通过JSON 字符串来创建对象(二)
查看>>
Codeforces Round #178 (Div. 2) C. Shaass and Lights
查看>>