美文网首页
前端技术选型思考

前端技术选型思考

作者: 5d18ee6b5b1c | 来源:发表于2018-12-01 17:46 被阅读0次

1、引言

我们在做前端项目开发时,都不可避免地要思考选型问题,即用什么技术开发我们的应用。

以下是本人的一些思考,欢迎补充。

2、先问自己一个问题

我的项目需求是怎样的?

不同需求的项目适合不同的技术栈。

传统的多页应用你不会选择react作为前端框架,单页应用使用jQuery来做也变得非常困难,所以不同项目适合不同的技术栈。

目前前端项目可以分为多页应用跟单页应用。

3、多页应用

多页应用就是我们传统的网站,每个页面都是由浏览器向服务器发送请求进行页面跳转。

3.1、多页应用的特征

  • 内容都由服务端用模板生成。如JSP。
  • 每次页面跳转都要经过服务端
  • JS更多只是做做动画

3.2、常用类库

  • jQuery : 曾经最火热的DOM库。
  • mootools : 与jQuery类似

3.3、架构工具

  • 无特定前端工具,跟后端配合
  • grunt :任务处理器,效率低
  • gulp :与grunt,效率比较高

3.4、模块化工具

  • sea.js
  • require.js

3.5、静态文件处理

使用grunt或gulp等工具手动编译到HTML中,自由度低,操作复杂,或者甚至不处理,交给后端,让后端服务处理。

4、单页应用

单页应用,就是所有页面内容都是由前端生成的,用到的所有数据都是JS主动向服务端发请求获取的。

4.1、特征

  • 所有内容都在前端生成
  • JS承担更多的业务逻辑,后端只提供API
  • 页面路由跳转不需要经过后端

4.2、常用类库

  • react
  • vue
  • angular
  • backbone

4.3、架构工具

  • npm
  • jspm

4.4、模块化工具

  • webpack
  • rollup : 打包性能优于webpack

4.5、静态文件处理

可以直接在JS代码中进行引用,并且交由模块化工具转化成线上可用的静态资源,并且可以定制转化过程适应不同的需求场景。

5、其他

最后还需要考虑三点:

  • 浏览器兼容性
  • toB还是toC:toB指的是商用的软件,对功能复杂度要求高、对性能要求比较低;toC业务复杂度不会很高,但性能要求比较高
  • 移动端还是PC端:移动端要考虑适配,移动端跟PC端的网速要求是不一样的。

以上,就是本人对前端技术选型的思考欢迎留言补充

相关文章

  • 前端技术选型思考

    1、引言 我们在做前端项目开发时,都不可避免地要思考选型问题,即用什么技术开发我们的应用。 以下是本人的一些思考,...

  • 前端技术选型,react, vue , angular2 技术对

    一个项目的开始,往往需要进行技术选型,也是头疼的时候。以下为前端的选型的考虑,给大家提供一个选型思路。 前端技术选...

  • 凯尔前端项目结构

    项目地址 凯尔前端:https://github.com/Mrshenxh/Kayle 项目技术选型 凯尔前端技术...

  • 前端技术选型

    如果区分项目: 单页应用: 所有内容有 js 生成, 数据依靠 js 发请求获取所有内容都在前端生成JS 承担更多...

  • CMDB 前端技术评审

    1、技术选型2、数据交互流图3、代码架构设计说明4、排期规划及阶段性产出时间点 1.技术选型 前端渲染 前端渲染选...

  • 前端框架React、Vue对比

    前端技术栈选型分析 公司做前后端分离,确定前端技术栈,对前端框架React、Vue,稍微做了下分析:对比:1、上手...

  • 如何架构前端项目

    在经历了2年多的前端开发,主要是参与公司内部平台研发,负责前端技术推荐和技术选型,以及参与前端系统搭建,前端代码开...

  • 前端项目技术选型

    1. 项目技术分类[#1-%E9%A1%B9%E7%9B%AE%E6%8A%80%E6%9C%AF%E5%88%8...

  • TMD-前端高级工程师 - 企业应用

    高级前端工程师 - 企业应用,参考薪资 30-50k 岗位描述: 1、负责前端技术选型和开发工作; 2、优化前端功...

  • 个人对组内前端工作小结

    组里前端工作小结 自从小组的前端负责人离职后,自己就承担了小组前端的任务。包括前端基础技术的选型,工程环境搭建,了...

网友评论

      本文标题:前端技术选型思考

      本文链接:https://www.haomeiwen.com/subject/mvlrcqtx.html