如何做好一个优秀的web项目心得
最近利用空余的时间(坐公交车看教程视频),想了很多自己做的做果项目的优缺点,重新了解了前后端分离,前端工程化等概念学习,思考如何打造好一个优秀的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项目心得的更多相关文章
- 小记如何有顺序的搭建一个Spring的web项目
如何有顺序的搭建一个Spring的web项目 一.新建一个简单的maven,war工程 eclipse下如有报错,右键 Deployment 单击 Generate 生成web.xml后可解决报错 二 ...
- 使用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 ...
- 用 Eclipse 创建一个简单的web项目
Eclipse neon 汉化版 ; 1;右击新建 --> 选择 动态Web项目 2: 填写 项目名 项目位置 ; 选择 Dynamic web module version 和 tomca ...
- 2、搭建一个简单的Web项目
一.创建一个Web项目: 1.File->new Project->Java->JavaEE->Web Application 2.为项目起名: 3.配置项目:在项目上击右键- ...
- 一个完整Java Web项目背后的密码
前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...
- ZH奶酪:LAMP环境中如何重新部署一个Yii2.0 web项目
使用Yii2.0 framework开发的项目,使用Github进行版本控制,现在要把这个项目部署到一个新的电脑/系统中: (1)安装LAMP (2)在/var/www/html目录下执行 git c ...
- 使用IDEA结合MAVEN创建一个Spring Java Web项目
前言 如今的Java项目,如果还使用传统的把jar包复制到目录下这种原始的方式,对于依赖管理来说实在是灾难.对某个功能需要引入某种技术包,但是你不确定是否已存在,如果分类好的话还好找,若是杂在一堆不仅 ...
- maven(一)创建一个maven的web项目
一.创建项目 1.Eclipse中用Maven创建项目 上图中Next 2.继续Next 3.选maven-archetype-webapp后,next 4.填写相应的信息,Packaged是默认创建 ...
- Eclipse如何新建一个tomcat_server发布web项目
方法/步骤 通过Eclipse打开一个正在开发阶段的java的web项目,没有项目的,只是为了学习的话,可以新建一个测试的java的web项目即可.在功能窗口找到如图所示的Servers窗口, ...
随机推荐
- Android图片处理--缩放
PS:在开发中我们会遇到一些图片处理问题,比如说缓存图片了.限制图片大小了.查看图片了等.上一篇文章介绍了图片的全景效果查看,今天介绍一个图片缩放,我们如果有时间的话,可以自己写一个属于自己的库,里面 ...
- 学习使用PRINCE2能带来什么益处?
使用PRINCE2有许多好处.它除了可重复使用.可升级.非常灵活之外,是在成百上千名有经验的项目经理们的帮助下,总结他们多年积累的实践经验和专业技术建立的. PRINCE2 开发于1989年并从此不断 ...
- centos下运行python3.6+Django+mysql项目
文件准备: Django项目 myslq安装 关闭防火墙 用xshell拖拽到centos上 安装文件: 安装python3.6(3.7有问题) sh install_py36.sh 关闭防火墙 sh ...
- java编写银行管理 。ATM管理
package Demo; import java.util.Date; import java.util.Scanner; //date是数据库中的一个用法,初始化后输出的是操作时的时间 publi ...
- APACHE如何一个站点绑定多个域名?
大家肯定遇到过这样的情况,需要APACHE2里一个站点绑定多个域名,那么如何操作呢?用ServerAlias 以前很笨,要使多个域名指向同一站点总是这样写: ServerAdmin admin@dom ...
- SQL Server ->> 性能调优案例之 -- 包含递归查询的视图导致整个查询语句性能下降
有个语句最近性能下降很厉害,原本1秒就可以查询完毕的事情现在居然需要3-4分钟. 首先我的做法是先快速找出导致整个语句下降的元凶.在这个例子里面查询语句有3个JOIN字句,我通过删除某一个JOIN节点 ...
- C# winfrom DataGridView用法
DataGridView列的宽度自动调整,可以使用DataGridView.AutoSizeColumnsMode属性实现. 下面的代码就是列的宽度根据Header和所有单元格的内容自动调整的. // ...
- 四、python小功能记录——按键转点击事件
import win32api,win32gui,win32confrom pynput.keyboard import Listener def clickLeftCur(): win32api.m ...
- Asp.Net MVC 开发技巧(一)
开发程序时的流程: 1.设计数据模型. 数据模型最为重要,不仅关系到数据的存储,同时程序的可扩展性,效率也受影响,甚至决定开发工作量.所以要极其认真的设计数据库的表和相关字段. 建完基本的数据模型后, ...
- working-with-php-and-beanstalkd
原文出处:http://www.lornajane.net/posts/2014/working-with-php-and-beanstalkd Working with PHP and Beanst ...