前端技术选型的一些思考

1.在java领域,表现层技术主要有三种:jsp、freemarker、velocity。

  注:此处不会过多考虑性能,单从菜鸟眼光看待前端。毕竟前端技术现在丰富多彩,作为后台菜鸟不可能样样精通,

    所谓千鸟在林不如一鸟在手,根据自己的实际情况选择一种精通,多种了解可做简单维护即可

   1.jsp

    优点:功能强大,可以写java代码,灵活

    缺点:由于可以写java代码,如果没有代码规范,很容易破坏mvc结构。如果别人有一些奇葩写法,接手维护绝对是个坑

    应用场景:

      a.如果公司没有前端(小公司),所有活都是自己干,在技术掌控范围内优先用jsp(自己维护还好,日后交接管杀不管埋)

      b.看对服务器压力,jsp属于后端渲染,如果是一些内部系统,访问压力不大,前后端交互也不多,比如登陆页面login.jsp,动态视图展示用户名,不需要太多ajax请求(此处用freemarker也可,但是不熟悉)

   2.freemarker

    优点:mvc分离,对jsp标签支持良好,学习成本相对低一点(感觉和写html差不多),网上推荐都是用freemarker代替jsp,不从性能考虑其实没啥感觉

    缺点:据说三者普通页面效率最低,复杂页面不错(相对小众)

    应用场景:  

      a.电商项目有个案例,比如京东的首页或者某个商品的详情(如苹果6s),这些地方所有的用户看到的信息基本都是一样的,此处可以用freemarker模板生成html静态文件,然后将html缓存在服务器

   3.velocity

    优点:mvc分离,性能据说比jsp好

    缺点:小众

    应用场景:

      a.velocity是较早出现的用于代替jsp的模板语言,完全没用过,不好评价,主要用于面试时候凑个数,算是扩展下视野

2.html + js + ajax 和 jsp

转载:http://www.cnblogs.com/iOS-mt/p/5649467.html

一.ajax的优点:

    1.开发过程中前端与后端脱离,交互通过JSON传输来实现
    2.跨平台能力更强,依托于浏览器的支持
    3.使后台数据接口能够得到复用
二.ajax的缺点:
    1.开发难度大,考虑浏览器的兼容性
    2.页面请求过多
    3.属于后加载,无法被爬虫爬到
    4.接口代码需要新增很多
    5.无法直接显示java实体类对象,需要转换为json格式
  6.需要维护js
三.jsp的优点:
    1.可被爬虫爬到
    2.减少请求次数
    3.不用考虑浏览器的兼容性
四.jsp的缺点:
    1.增大了服务器的压力
    2.前端与后端未脱离,拖慢开发进度
    3.过于依赖java运行环境
    4.复用较低。

   

  

原文地址:https://www.cnblogs.com/hcl1991/p/6604724.html