原因
光阴似箭,岁月如梭。看着一身迷彩服的大一新生在踏着整齐的步伐,口中喊着响亮的口号,那夕阳下的身影,是我逝去的青春。转眼就要毕业了,我的军训仿佛就在昨天,历历在目。回首前面的两年,自己并不是不学无术,但也浪费了挺多时间。作为一名学习Java web开发的程序员,应该具备完整开发网站系统的能力。
作为一个侧重后端开发的专业,前端开发切实有一定难度,虽然之前也学校课程上也学习过HTML,css,js,但都只是简单学习,浮于表面,上个学期也简单学习也vue,主要时间和精力都放到了Java上了。之前已经在阿里云服务器上部署一个网站了SpringBoot+Thymeleaf,那是别人提供的源码,我只是对数据稍做修改,想要在那基础上进行扩展很难,不如自己建一个吧。那样也可以进行一步掌握建站的整体开发流程,麻雀虽小,五脏具全,涉及到前端、后端以及部署等。也是对自己所学知识和技能的一个总结和检验吧。
暑假的时间就已经想将这个想法付诸行动了,奈何考驾照练车占用了我不少时间,技术上也还不成熟,所以练车之余有时间就进一步学习了vue.js、vuex、vue router、webpack、vue cli等前端技术,了解各个技术栈的功能作用及简单入门。
这个学期的课程比较少,自己支配的时间比较多。万事具备只欠东风,那就来实战一下吧。
项目是打算用前后端分离的开发模式,先开发客户端再开发服务器端代码,一是对我来说客户端开发难度较大,服务器端难度相对较小,开发起来效率更高。 二是客户端需要什么数据后端就可以只开发相关的接口提供相应的数据,需求更加明确,不然就就算后端提供了数据,我客户端没能力渲染出来或者渲染出来导致页面数据太多布局太乱也不好。
目标
既然要先开发客户端,那就要先明确开发目标:开发什么样的网站,达到什么样的效果及用户体验。
首先我要开发的是一个个人网站,上面放一些自己写的文章、学习笔记和心得,提供我在其它平台学习笔记、分享代码的跳转链接及志同道合者想找我探讨人生或技术的联系方式,其它用户可以注册、登录、退出登录、注销账号但不能发布文章,仅可以在网站留言或者给文章评论、点赞、打赏,pc端和移动端需要能够很好的兼容和适配以提高用户体验。 接下来规划开发流程及网站整体结构。
规划
pc客户端
1) 先来设计一下网站的整体结构和布局
2)
模块1就是一张图片作为背景图,图片宽度要能铺满浏览器的宽度,限制高度,结合页面的美观程序酌情设定,没啥好说的。 模块2我目前想到这四个导航入口,从左到右分别是首页、动态、留言、关于,如果需要,还可以在右边加个搜索框
4.1)首页
上部分是放置轮播图,轮播图下面就最新发文章列表,即作者最新发布的几篇文章。文章列表里的每一篇文章都有一张图片作为封面图,有文章标题,展现部分文章内容(需要截取部分内容作为摘要,点击进入才可以看完所有内容),展现文章作者、文章发布时间、点赞数量、浏览数量、评论数量
直接就是所有文章列表,作者写的所有文章都在这里列出来。比首页少了轮播图,其它跟首页差不多
4.3)留言
同样也是分为上下两部分,上部分是留言输入框,用来给用户提交留言,下部分是展现所有用户提交过的留言
进行文章详情页面是当用户点击文章列表里的子项时进入的,而不是导航栏。这个页面也大致分为上下两个部分,上部分是文章的详细信息,有文章标题、文章内容、文章发时间、文章作者、访问量、评论数量,此外还可以打赏。当用户点击打赏按钮,会弹出弹框,弹框里可以切换支付宝打赏或者微信二维码打赏,实现原理和留言那里的注册登录那差不多。文章评论和留言布局差不多,只是数据不一样。点赞和评论都需要先登录,未登录而进行点选或评论操作的会出现登录注册的弹框。
关于页面目前我还没有想到放啥内容,暂时不做具体设计
移动客户端
移动客户端的布局要等到pc端完成了才好根据具体情况来写样式进行适配