做一个网站需要掌握哪些知识?

2021-06-01 17:08:21 来源:企帮网

一、产品分析阶段

需求分析

功能模块划分

用户使用流程草图

原型草图

这一阶段没有什么技术要求,主要工具就是铅笔加A4纸。麻烦一点的地方在于需求分析的过程中不断有新的想法,推翻之前的重来,所以草稿画了四五十张吧,目前是第一版需求。
技能:会削铅笔、会画线、会写几个字即可。
工具:铅笔1支,中性笔一支,A4纸一盒
用时:跨度一个月,工作时间约60+小时吧。
二、设计阶段
1. 参考各类分享、问答类网站。
2. 仔细设计UI流程。
3. 网站设计规范制订:用色、Logo、通用组件、尺寸、自适应移动端方案等
4. 按功能模块开始设计。
这一阶段比较痛苦,设计是一个很扯淡的工作,因为没人审稿,自己要求也不严格,所以初期的时候随便弄了。待出了七八个页面之后发现这也太!丑!了!。
于是重来,重来,重来...
几版之后依然不满意,哎,先这样了,算了。
技能:会开机、会PS。
工具:笔记本电脑一台、PS软件一个(破解版的)
参考:各类网站,http://www.pinterest.com 给我的参考最多... 嘿嘿
用时:跨度一个月,工作时间大约100多个小时吧。
三、数据库表设计
这没什么好说的,根据业务来分表,具体也不好表述。
技能:SQL基本知识、数据库基本知识
工具:sublime,sql
用时:10小时

四、前端技术
1. 技术选型
2. 开发环境搭建
3. 静态页、css组件、js组件、前端业务逻辑
最开始在犹豫是先写React-Native App还是先写PC网站。
后面想了想还是先写PC,原因三点:
1. UGC网站没有PC端会对内容产生环节带来极大的不便。
2. App推广我没钱。
3. PC我熟啊!

说一下技术选型吧。
首先只支持ie8+,或者ie9+。
业务框架:因这个网站的与用户交互还是蛮多的,所以mvvm框架是必须的,所以选了React,因为现在还没有开始写业务代码,后面用Angular或Vue也说不一定。
交互组件:因在前公司写了一套React的组件,大约有十多个,可以拿来重用,所以组件就用React来写了。
CSS:CSS Modules 想来想去没必要,小网站搞这么多花样做个啥呢。大手一挥,取bootstrap的less工具过来定制,相当的爽利。
构建:webpack
优化:还没有
技能:熟悉CSS语言、熟悉UI模块化、熟悉组件化、熟悉bootstrap。熟练的使用JavaScript完成前端的大部份业务(交互、通讯、展示)及组件,非常熟悉一两个前端JS框架(读过核心源码或有不少的实际运用经验)。
工具:lesswebpackwebstorm
用时:进行中,目前50+小时

五、后端技术。
1. 语言选择
2. 架构设计
3. 开发环境搭建
4. 域名、服务器购买
5. 版本控制

语言在Java和Nodejs之间摇摆了很久,想用Java来练手(其他的不会,C略懂,但是用C写服务器估计比较虐),都用Java写了一些了,后面删了,改用Node。因为项目后面会有其他朋友加入进来,都是Nodejs背景的,权衡之下,用Node了。

架构设计就比较扯淡了:
读写分离?没有。
分布式?没有。
其他呢?也没有。
为什么没有?因为没弄过啊!边写边学习吧!

开发环境主要包括:
1. typescript环境,Nodejs用ts来写,所以有构建环境(gulp+ts+babel)。
2. 工程目录划分。
3. 模块划分,模块目录。
4. Node服务层(sessionrouterviewstatic等)
5. 系统稳定层 (运行日志、性能监控、恶意请求捕获等)
6. 数据库:当然是mysql...
7. 安全层:准备在程序外层套一个安全过滤器,具体怎么做还没想好,大概是在Node层外加
一个安全检测层,主要检测请求的合法与否,这一层应该有session验证、防注入、sign验等。
目前还没做。

域名注册了几个.top域名,嘿嘿,相当的便宜...最贵的一个才3200,最便宜的5块还是2块忘了。
服务器在阿里云买了个最便宜的64块一月,结果装gitLab装不上,被逼升了2G内存,120来块一月吧。

版本控制就是gitLab了。
技能:一门或多门后端语言、SQL、数据库、httptcpsocketcookie通讯、基本的Linux操作、ssh远程基本知识、git基本知识、服务器->客户端数据流转基本概念、基本安全知识、基本加密及验证知识
工具:babelgulptypescriptkoamysqlgit
用时:目前40小时左右
坑:第三方库的d.ts文件真的差太多了,边写业务代码边补d.ts真是太刺激...

哦,对了,还有测试。
目前只有单元测试,而且只有功能模才有单元测试,业务模块没有...
测试框架选个常用的mocha就好了。

  • 上一篇文章: 如何提高网站建设的质量?
  • 下一篇文章:网站制作基本流程