一、引言

1.0 项目源代码整合

1.1 编写背景

web端开发人员较少,正好以前学习过web端的内容,所以本次项目承担web前端的任务。在本次任务晚餐过程中,我前端采取的是html+css+jquery(其实在编程的途中想使用vue,但中途改动过于繁琐后放弃了),侧边栏点击加载也是用部分加载实现,与后端的交互则采用ajax的技术。主要分为两个模块:

  • 一、订单处理的模块:注重实时的刷新,用户订单后马上在页面上显示新的订单;其次就是多个网页同时在线处理订单时,保证系统的流畅性。
  • 二、店家管理的模块:注重页面的美化和展qi,外加细节的处理,以及与后端的交互,其中相对比较麻烦的就是图片的传输(采取的是二进制传输,其实也可以采取超链接的方式将图片部署在服务器上,由于没有服务器,就将图片以二进制的格式存取在数据库中)

二、前端编写总结

2.0前端页面编写部分

  • 前端页面的实现图标必不可少,外加logo的设计,由于图片使用过程中可能会修改背景颜色、大小等,所以我大部分采用svg的格式
  • 前端原型的设计:前端的设计最好先设计好原型,无论使用墨刀,甚至手绘,又或者套用模板都是不错的选择。
  • 前端代码设计分为三个模块:html要呈现给用户看哪些东西,这些在前期绘制UML图以及小组讨论的时候都已经确认好了;其次是css,这部分相当关键,这代表着做出来的界面是否美观;然后是js部分这是与后端交互,以及动态页面的实现。由于从基础开始学起,很多部分在原型设计的时候想到并设计出来却实现不了,还是比较难过的。下面是我个人最满意的一个界面。

2.1与后端交互部分

  • 接收数据格式基本采用json,也有部分比如添加菜谱,修改信息等,后端只需要发送成功与否的部分,采用text接收即可。
  • 使用ajax与后端交互,起初碰到的第一个问题就是跨域问题,由于端口号的不同,数据接收不到,后来与后端协同完成处理了这个问题。其次就是图片的传输问题,获得的图片二进制要在头部添加data:image/png;base64,才能够被正确解析。

2.2存在的问题:

  • 由于部分原因,前端基本手写完成,也没怎么套用模板,最终发现页面的展示效果确实差强人意;学习的内容又少,后来才发现使用bootstrap等框架可以大大减少我写css的代码。
  • 在逻辑方面也存在不少问题,处理订单的页面太过于关注与服务器的交互,实时刷新显示新的订单,导致页面相当单调,如果作为正式使用那是肯定不行的,可以在左侧添加菜谱数量的修改,以及来新订单时的提醒,也可以在右侧添加一个已处理过的订单列表,用于查看。

2.3个人总结

  • UML图的制作相当重要,我需要完成哪些界面的设计只要参考UML图的设计即可,要实现哪些功能的界面一目了然。
  • 沟通尤其重要。后端的实现基于前端的需求,有时候小组讨论过程中,由于表达不清晰,导致实现的代码并不是我前端需要的,这时候又要与后端的编写人员协商修改代码。
  • 后期测试维护的时候会出现一系列问题,有些时候分不清到底是前端问题还是后端问题,也有可能是前后端交互出现了问题,甚至是其他原因。这时候处理好各自部分中的测试尤其重要。

三、本次课程的少许建议

  • 课程我个人还是相当喜欢的。很好有机会多人协同完成一个项目,我对GitHub的运用提示了不少。前期的准备工作,如UML图的绘制也非常受用,毕竟以前完成一个任务,都是粗略的思索一下就直接上手写代码了。
  • 老师最开始推荐的《构建之法》这本书,读后感觉还是非常有用的,希望老师多推荐一下大牛写的著作或者计算机前沿的一些技术
  • 在最后项目提交检查的时候,老师就我们本次完成情况,提出了很多建设性的意见,用来优化改进代码的时间有点紧张,希望可以最后空出一至两周来完成这些部分。
  • 各组之间也可以互动给其他小组的作品提出意见,相互交流项目执行过程中遇到的问题以及如何去解决的。

饱了吗-web前端个人总结的更多相关文章

  1. Web前端学习开篇

    首先想想自己喜欢干什么?想干什么?脑袋需要什么?什么对自己来说最重要?自己的规划? 本人数字媒体技术专业,想学Web前端开发有好长时间了,有一定的基础,所以就想进一步深入学习.谁料想,我怎么那么没有耐 ...

  2. Web前端需要熟悉大学里【高大上】的计算机专业课吗?

    作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此! 一.大学学习的专业课非常重要,它决定了我们能走到什么高度 前端的发展非常快,我常常觉得刚刚关 ...

  3. web前端开发分享-目录

    1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...

  4. Web前端温故知新-CSS基础

    一.CSS定义与编写CSS 1.1 CSS的定义 全名:Cascading Style Sheets -> 层叠样式表 定义:CSS成为层叠样式表,它主要用于设置HTML页面中的文本内容(字体. ...

  5. web前端的春天 or 噩梦

    「 微信应用号可以做什么」 简单说,微信"小程序"可以为开发者提供基于微信的表单.导航.地图.媒体和位置等开发组件,让他们在微信的网页里构建一个 HTML 5 应用.同时微信还开放 ...

  6. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  7. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  8. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  9. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

随机推荐

  1. 输入www.baidu.com会发生什么

    1. 浏览器接收域名 2. 发送域名给DNS,请求解析出www.baidu.com的IP地址 中文名字是域名系统服务器,一般位于ISP(互联网服务提供商,比如我们熟知的联通.移动.电信等) 中.浏览器 ...

  2. C#7语法快速参考-第一章 Hello World

    选择IDE 要开始使用C#编程,您需要一个支持微软.NET框架的集成开发环境(IDE).最受欢迎的选择是微软自己的Visual Studio.初学可以使用Visual Studio Community ...

  3. python 双层for循环,在第二层的for循环中的else中的continue,会退出到第一层for循环继续执行

    for a in [1,2,3,4,5]: for b in [1,2,3]: if a == b: print("a = b = %s" % a) break # 退出本次for ...

  4. java实现二叉树常见操作

    package com.xk.test.struct.newp; import java.util.ArrayList; import java.util.LinkedList; import jav ...

  5. MySQL查询——select

    SELECT select的完整语法: select col1, col2,... # 业务查询的字段 from table_name # 选取的哪张表 [where single_condition ...

  6. 设置ItelliJ IDEA里修改jsp不重启tomcat

    设置ItelliJ IDEA里修改jsp不重启tomcat On Upate Action 与 On Frame Deactivation 这两个选项的设置,依赖于 项目的部署方式 是war包 还是 ...

  7. 修改GIT已提交的用户名和邮箱

    修改GIT已提交的用户名和邮箱 原文:https://help.github.com/en/github/using-git/changing-author-info 说明 要更改在现有提交中记录的名 ...

  8. discuz支持的mysql的配置(docker版本)

    作个笔录. conf/discuz.conf [client] port=3306 default-character-set=utf8 [mysqld] port=3306 default-stor ...

  9. django rest framework 序列化组件总结

    序列化组件总结 一. 序列化组件本质上为了实现前后端分离,而进行json序列化的一个组件形式,极大方便了解析数据的作用 二. 所有序列化是基于APIView 解析器实现的,通过内部的多继承关系方便实现 ...

  10. mysql5.7兼容老版本不校验日期等字段

    升级mysql5.7时,字段校验出现2个问题,一是不识别日期字段的 0000-00-00 00:00:00,二是有些非空且无默认值的字段,插入时必须指定具体的值. 修改/etc/my.cnf 可在[m ...