美文网首页
9.技术选型和技术点介绍

9.技术选型和技术点介绍

作者: Aurochsy | 来源:发表于2018-09-22 22:31 被阅读0次

Chapter: 9.技术选型和技术点介绍(关键重要)

补充基础知识的介绍

NodeJS

Node.js是一个后端的javascript运行环境

选用理由

  1. 前端后端语言风格统一
  2. 开发方式上前端和后端彻底分离

NPM的使用和简单介绍

NPM就是nodeJS的一个包管理工具(提供包的下载通道)

NPM的使用

npm install

KOA的介绍

是一个基于NodeJS平台的web开发框架

特点是轻量化,所以采用,express 则是对新手更友好

VUE.JS介绍

是一套用于构建用户界面的JS渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 常用于搭建类似于网页版知乎这种表单项繁多,且内容需要根据用户的操作进行修改的网页版应用(即单页应用:多异步操作,动态重写当前网页来实

这篇博客介绍得很清楚 什么是vue.js?

EJS模板引擎介绍

EJS 是一个JavaScript模板库,用来从JSON数据中生成HTML字符串 。可以让代码更加干净整洁,让人易懂 。是一个服务端渲染模板。

模板引擎 (Template Engine)是Web开发中将展现层和数据分离的一项技术。模板引擎根据一定的语义,将数据填充到模板中,产生最终的HTML页面。模板引擎渲染的位置可分为客户端和服务器端

服务端/客户端/同构渲染

概念辨析:

  1. 后端渲染(服务器端渲染): 先在服务端把内容添加进HTML,再在客户端进行样式和交互的渲染
  2. 前端渲染(客户端渲染):全部完成从数据到页面的渲染;
  3. 同构渲染:指前后端共用 JS,首次渲染时使用 Node.js 来直出 HTML。一般来说同构渲染是介于前后端中的共有部分。

客户端和服务端渲染路线比较:

  1. 客户端渲染路线:1. 请求一个html -> 2. 服务端返回一个html -> 3. 浏览器下载html里面的js/css文件 -> 4. 等待js文件下载完成 -> 5. 等待js加载并初始化完成 -> 6. js代码终于可以运行,由js代码向后端请求数据( ajax/fetch ) -> 7. 等待后端数据返回 -> 8. react-dom( 客户端 )从无到完整地,把数据渲染为响应页面
  2. 服务端渲染路线:2. 请求一个html -> 2. 服务端请求数据( 内网请求快 ) -> 3. 服务器初始渲染(服务端性能好,较快) -> 4. 服务端返回已经有正确内容的页面 -> 5. 客户端请求js/css文件 -> 6. 等待js文件下载完成 -> 7. 等待js加载并初始化完成 -> 8. react-dom( 客户端 )把剩下一部分渲染完成( 内容小,渲染快 )

服务端/客户端渲染优缺点:

9.服务端和客户端渲染利弊比较.png

目前的趋势

一开始是都是服务端渲染,后来js出了后客户端渲染又流行起来,因为能完美实现前后端分离,但是带来了SEO差和首屏加载慢的问题,为了解决这个问题出了同构渲染这种方式,但是同构渲染也有问题...哪个会成为将来的主流各执一词,不过一般而言,管控类APP前后端分离是共识(客户端渲染),不过偏展示类的APP还是用服务端渲染比较好

进一步阅读:

精读前后端渲染之争(这篇文章给的渲染方式定义有误导性)

服务端渲染 vs 客户端渲染

浅析前端渲染与服务端渲染

本项目的概述(有待补充)

本项目需要明确的几个要点:|

vue.js 使用的是服务端渲染,

ejs.js 也是一个服务端渲染的模板引擎(在服务器发送html到客户端前中就已经将数据内容插入)

单页应用(SPA) 即通过动态重写当前页面来实现交互的网页,原理上是通过前端的路由控制页面的显示

书城的主页index.html使用了ejs.js 来传递数据,使用了vue.js ,通过前端的路由(写在app.js 中)来实现页面的跳转和数据交互,所以应该是一个单页应用,而vue.js 能即保留单页应用的有点,又能使用服务端渲染,所以书城的主页应该是一个用了服务端渲染的单页应用?

相关文章

  • 9.技术选型和技术点介绍

    Chapter: 9.技术选型和技术点介绍(关键重要) 补充基础知识的介绍 NodeJS Node.js是一个后端...

  • 微服务之架构技术选型与设计

    本文主要介绍了架构技术选型与设计-微服务选型,Spring cloud 实现采用的技术,希望对您的学习有所帮助。 ...

  • 伴鱼数据库选型的思考,为什么我们 all in TiDB

    作者:伴鱼技术团队 技术选型是由技术方向和业务场景 trade-off 决定的,脱离业务场景来说技术选型是没有任何...

  • Metal基础入门

    一、背景和技术选型 关于技术方案的选型,最权威的肯定是Metal for OpenGL Developers[ht...

  • iOS 基于GCDAsyncSocket实现的即时聊天

    本文不讨论技术选型,不介绍业务逻辑。简单地介绍下开发中会遇到的一些技术点,解决的一些方案。 粘包 因为是基于TCP...

  • 从0构建自动化测试平台(二)WEB服务器构建

    回顾 在第一篇文章中,介绍了技术选型:从0构建自动化测试平台(一)之技术选型 接下来就要开始和大家分享具体的产品实...

  • 项目架构发展

    一、商城项目介绍 1.1 项目背景 1.2 项目功能 1.3 技术选型 1.3.2 技术清单 二、项目框架的演进 ...

  • APP重构浅谈

    一、重构原因 (1) 技术选型 - 拓展性差: • 技术选型陈旧小众化,导致无法维护和更新,只能满足于目前开发.•...

  • 爬虫(3-1 3-2)

    3-1 爬虫技术选型,爬虫能做什么?技术选型:scrapy vs requests+beautifulsoup1....

  • 技术选型

    一、构建工具 gulp 任务管理,对任务文件流式操作,内存中完成,效率高 grunt 任务管理,对任务文件先读...

网友评论

      本文标题:9.技术选型和技术点介绍

      本文链接:https://www.haomeiwen.com/subject/mzzxoftx.html