有关项目迭代更新前后端框架择选的问题

来源:互联网 发布:汽车电路软件下载 编辑:程序博客网 时间:2024/06/05 07:04

本文主要记录自己做项目的点点滴滴,各位看官老爷如有错误的地方敬请各位斧正。

        先简短的介绍之前的项目:之前前端用的框架是Easyui 以及后台对其封装的框架,由于我们业务的扩展加上经理实在嫌弃页面很low,于是早选择了一个样式看得过去的前端框架Metronic,之前我对这套框架没怎么接触过,由于是工作时间一年多点,多少还是喜欢原生的方式,一方面可以锻炼自己另一方面对框架之类的多少会有些抵触。由于开发进度的限制,不得不进行框架开发。从第一眼看到Metronic,有种一见钟情的感觉,由于我们的项目表单占得比重很高,之所以比较倾向Metronic的原因也是在表单细节的处理上我们都很认可。

前期准备

  前端和后端框架的的选择,这里是前端框架的选择主要是ui的选择,后端的话就是EasyUi(或者其他框架)+Java类的封装,这里主要是后端的工作了。这里前端方面的话我打算用angular进行架构,其实有一点不解的是我们开发阿德方式要前后端的分离开发模式,还是用过【EasyUi(或者其他框架)+Java类的封装】+ controllers这套模式,之前的方式是后者,但是这样的协作方式对开发进度来说有点拖后腿,前后端的分离开发的方式有个致命的缺点就是前台要通过ajax交互的方式拿到数据之后在客户端渲染,之前的工作方式是在服务器端渲染完成后在客户端展示。这里我就不说两者之间的优劣势了。其实我要验证的是旧版本前端ui框架Easyui和要迭代的框架Metronic(或者其他框架的)的稳定性、后期的维护成本、以及在移动端的应用等问题。通过下载的几个demo发现;第一张是在pc端剋做到自适应

下面的 是移动端的效果展示


另外比较倾向于Metronic的一点是这个类似于bootstrap的组件化是很完备的,这样也方便与后台Java类的封装,所以决定选择Metronic进行项目的迭代。*******这样的选择过于草率,自我感觉这里有可能是个伏笔,我已经准备好挖坑了。

前端架构

其次主要的一点是前端js的框架的搭建,因为之前就接触过angular,所以说,为了提升逼格,我打算用angular进行前端的架构。用angular做项目我有以下的心得

做为一个Web前端做项目,以下几点是重点要考虑的
 目前在我看来用它来做项目,最主要的是用来做什么项目(通常分为页面型和应用型),是否注重浏览器的SEO;接下来的是我们产品面向的客户群体(如果要考虑IE的话,Angular 在 1.3 后就减少了对 IE8 的支持了,更别说现在angular更新迭代的这么快了)
    angular对编程者的要求还是比较高的,有着较强的js的功底和逻辑抽象的能力,最后一点的就是目前团队的配置如何,对js掌握不好的团队处理起来是有点困难的,用angular做单页面的项目,
令我感到非常棘手和无奈的是,angular对DOM元素的绑定真的是有点麻烦的,但是这并不妨碍其中我对他的热爱程度(我已经有半年没有使用了,我还是很渴望能使用ng)。
    这里着重说一说ng的优点:这是典型的mvvm的框架,在我的主观意识的理解就是Module view view Module,简而言之的就是 模型 试图 试图 模型;这是我自己的理解,大概就是攻城狮们常说的视图和数据模型的双向绑定,通过数据驱动试图发生改变,这就使得整个工程的业务逻辑十分的调理(主要是理解和多练)。其次ng依赖注入的方式导致整个框架的组件化开发优势很大,对于前端人员来说最大的好处就是简约了代码,减少了冗余,依靠这种依赖注入和js的渲染使得更加高大上(整个人的逼格瞬间提升了不少)。
    其实马上要进行的项目(老项目迭代更新)最大的问题是前后端分离的问题,ng基本上都是通过ajax的交互获取到数据,过多的的交互对浏览器的性能要求还是比较高的。本身我是倾向于前后端的分离开发的(这样的模式后台的只负责提供接口,其余交给前台去完成),这样在原来的基础上把接口进行封装就行了;而且这样的模式对后期团队开发新项目也是很好的练手。对后期的WEB、移动端项目接口比较好统一。  

先到这,欢迎各位大神补充!

原创粉丝点击