最近利用空余的时间(坐公交车看教程视频),想了很多自己做的做果项目的优缺点,重新了解了前后端分离,前端工程化等概念学习,思考如何打造好一个优秀的web前端项目。

前端准备篇

前端代码规范:制定前端开发代码规范文档。

PS:重中之中,为了下一步实现前端工程化。

编码风格有很多。团队代码规范一定要统一。便于维护web项目。

    接口文档规范:制定RESTful架构接口规范文档。

PS:果断使用用apiDoc构建API文档。美观好看,易于维护。

还用Word或者Excel写文档,太low了。

前后端分离:简单理解为前端代码不影响后端代码,后端代码不影响前端代码。

PS:个人感觉就是有点像C/S架构,web前端 == apk || ipa 。

前端工程化(模块化):简单理解为前端代码不再零散,有组织,有规范的管理起来。

PS:个人感觉就是把后端mvc模式中v与c层都交了前端处理。

    前端渐进式(PWA):依靠缓存,Web Workers等现代技术打造的渐进式web应用。

PS:有点像hybrid app,但无需原生代码,可离线,可推送web应用。

前端代码篇

html:当然采用最新的html5标签。

PS:值得一提的是,不要滥用html5的标签,比如section与div标签。

css:使用CSS Modules,让css局部模块化,保证css全局唯一性。

PS:建议配合webpack一起使用。

使用sass预处理,让css模块化,便于维护与管理css。

PS:我确实有点抵触css预处理,觉得没什么用,后来使用了css预处理自后,感觉真的很方便,

我选用sass是因为很多css框架都有集成sass,便于使用而已。

使用PostCSS后处理,让css标准化,写出高质量的css。

PS:后处理器基本是把sublime text里面的前端插件都搬过来了,完全实现前端自动化。

       js:使用html5新api。

PS:html5 api更容易操作dom,实现一些新功能,比如拖拽。

使用ES6/ES7/ES8的语法。

PS:js终于变成真正的javascript了,语法与java相似度更高了。

使用jquery库。

PS:  jquery永远不会过时,因为jquery有强大的插件。

使用js mvvm框架Angular.js或vue.js

PS:mvvm框架让web前端更易于提高web性能。当然啦,具体问题具体分析,慎用mvvm框架。

据个人感觉,vue.js比较适合移动端web项目,体积小,性能高。

Angular.js比较适合PC端大型项目,功能强大。

前端构建工具篇

nodejs:一个从Chrome浏览器提取出来的强大的js解析器(js运行环境)。

PS:与java的JRE类似,一个高性能的运行环境。

webpack:一个出色的前端打包构建工具。

PS:webpack真的是个神奇的打包工具,实现前端模块化的神器。

补充:现在一个前端的开发主流工具就使用脚手架(命令行工具),比如:vue的vue-cli。能迅速构架web应用项目,搭建开发环境与发布项目。

如何做好一个优秀的web项目心得的更多相关文章

  1. 小记如何有顺序的搭建一个Spring的web项目

    如何有顺序的搭建一个Spring的web项目 一.新建一个简单的maven,war工程 eclipse下如有报错,右键 Deployment 单击 Generate 生成web.xml后可解决报错 二 ...

  2. 使用Maven创建一个Spring MVC Web 项目

    使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 rele ...

  3. 用 Eclipse 创建一个简单的web项目

    Eclipse neon 汉化版 ; 1;右击新建 -->  选择 动态Web项目 2:  填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...

  4. 2、搭建一个简单的Web项目

    一.创建一个Web项目: 1.File->new Project->Java->JavaEE->Web Application 2.为项目起名: 3.配置项目:在项目上击右键- ...

  5. 一个完整Java Web项目背后的密码

    前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...

  6. ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目

    使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git c ...

  7. 使用IDEA结合MAVEN创建一个Spring Java Web项目

    前言 如今的Java项目,如果还使用传统的把jar包复制到目录下这种原始的方式,对于依赖管理来说实在是灾难.对某个功能需要引入某种技术包,但是你不确定是否已存在,如果分类好的话还好找,若是杂在一堆不仅 ...

  8. maven(一)创建一个maven的web项目

    一.创建项目 1.Eclipse中用Maven创建项目 上图中Next 2.继续Next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Packaged是默认创建 ...

  9. Eclipse如何新建一个tomcat_server发布web项目

    方法/步骤     通过Eclipse打开一个正在开发阶段的java的web项目,没有项目的,只是为了学习的话,可以新建一个测试的java的web项目即可.在功能窗口找到如图所示的Servers窗口, ...

随机推荐

  1. Oracle 11g 管理工具及SQL Deverloper 的使用教程

    Oracle 管理工具及SQL Deverloper 的使用教程 默认的网站的管理工具 网址格式:https://机器名:1158/em 默认:https://localhost:1158/em 机器 ...

  2. apple 下安装mysql 以及 碰到的问题

    直接说过程: 1.从mysql 官网下载 mysql 5.7最新版:有 两种 一种是 dmg 的傻瓜包,一种是tar.gz的压缩包.我下载的是tar.gz的压缩包. 2.下载成功后,先试用命令sudo ...

  3. oracle decode函数和 sign函数

    流程控制函数 DECODE decode()函数简介: 主要作用: 将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1, ...

  4. 笔记:Xen虚拟机如何迁移到KVM上?

    众所周知如果是在Linux上使用虚拟化技术的话,就会有基于Xen Hypervisor部署一个系统的机会.因为基于内核的虚拟机(KVM:Kernel-Based Virtual Machine)已经逐 ...

  5. java笔记--代码实现汉诺塔移动过程和移动次数

    汉诺塔 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方. --如果朋友 ...

  6. C# 等值锁定

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. C# Array类的Sort()方法

    Array类实现了数组中元素的冒泡排序.Sort()方法要求数组中的元素实现IComparable接口.如System.Int32 和System.String实现了IComparable接口,所以下 ...

  8. asp.net生成PDF文件参考 .

    TextSharp 是用来生成  PDF 的一个组件,在 1998 年夏天的时候,Bruno Lowagie ,iText 的创作者,参与了学校的一个项目,当时使用 HTML 来生成报告,但是,使用 ...

  9. 沉淀,再出发:XPath的理解和使用

    沉淀,再出发:XPath的理解和使用 一.前言   在很多查找的场合之下,我们需要使用正则表达式和其他的查找工具来进行内容的匹配和查找,特别是对于xml文件,我们可以使用xpath等工具来进行查找,通 ...

  10. 沉淀,再出发:VUE的简单理解

    沉淀,再出发:VUE的简单理解 一.前言 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架.Vue 只关注视图层,采用自底向上增量开发的设计.Vue 的目标是通过 ...