当前位置: 首页 > news >正文

京东这样的网站是怎么做的抖音自动推广引流app

京东这样的网站是怎么做的,抖音自动推广引流app,济南网站建设李尚荣,长沙公司网站费用现代前端开发简介 前端开发的历史CGIServer PageRIAAJAX前端组件化和工程化 现代前端开发模式前端工程化前端组件化单页应用微前端 更多相关技术游戏开发Web Assembly 小结 今天我们来稍微聊一下现代前端开发的过去和现状。 前端开发的历史 CGI 在互联网刚刚开始兴起的时代&a…

现代前端开发简介

  • 前端开发的历史
    • CGI
    • Server Page
    • RIA
    • AJAX
    • 前端组件化和工程化
  • 现代前端开发模式
    • 前端工程化
    • 前端组件化
    • 单页应用
    • 微前端
  • 更多相关技术
    • 游戏开发
    • Web Assembly
  • 小结

今天我们来稍微聊一下现代前端开发的过去和现状。

前端开发的历史

CGI

在互联网刚刚开始兴起的时代,静态的html网页功能实在有限,前端脚本javascript 也不过是用于表单输入验证这样的简单功能。开发者想在网站上开发强大的功能就得使用动态生成的网页。
公共网关接口(Common Gateway Interface,CGI)就是早期动态网页的简单实现,基本原理就是让服务器不仅仅提供静态的html文件,而且可以根据输入参数用程序生成结果,简单,直接,有效。

Server Page

随着互联网的发展,需要的网站功能越来越强,对应的动态网页也就越来越复杂。这时候“Xxx server page” 这样的技术应运而生,其主要特点是把后端脚本嵌入到html页面代码中来生成动态网页,其实说白了就是一个语法糖,让生成动态网页的代码更直观容易理解。其中最有代表性的有:

  • JSP, 全称java server page, J2EE的最基础功能之一, Java 在互联网和企业级应用开疆扩土的功臣,可以运行在tomcat 或者jetty这样的java web容器之上。
  • ASP,全称active server page, 是微软推出的技术,运行于微软的IIS服务器之上。
  • PHP,被人戏称为“世界上最好的编程语言”,至今还顽强的生存着。

RIA

动态生成的网页,从后端来看可以动态填充数据已经不错了,但前端表现力和灵活性未免差了一些。为了提高用户体验和绕开当时笨拙缓慢的javascript脚本,人们发明了RIA(Rich Internet Applications)富互联网程序,做法就是人工给浏览器安装RIA 运行时插件,扩展浏览器的功能以运行RIA的程序。记得当时听说过的实现有:

  • Flash / Flex, 这个是n年前处于统治地位的插件,地表最强,没有之一
  • Java Applet / Fx,Java applet 曾经是早期的java流行的原因之一,但终究未成气候。后来晚些时候又推出了 java Fx,但反响并不强烈。
  • SilverLight,既然是软件技术竞争,又怎么可能少了微软,这个SilverLight就是微软晚些时候推出来的和Flex, Java Fx竞争的。

虽然上述技术曾经是打得你来我往甚是热闹,但架不住技术大潮的方向没有选择RIA,比如业界领军的苹果当年就坚持不支持flash。覆巢之下岂有完卵,曾经热门的技术终究逐渐销声匿迹了。

AJAX

"xxx server page"的技术虽然兴盛一时,但混合前后端代码的开发方式确实有些混乱和不直观。我们都知道解耦合和分层是软件设计中降低复杂度增加可读性的基本操作方法。在这里仍然适用。有一种名为AJAX ( Asynchronous JavaScript and XML)的技术静悄悄地发展。在 AJAX 中,JavaScript 代码向服务器发起请求,但不会令浏览器刷新页面,也不会改变网页。这种技术可以实现异步更新网页的部分内容,而不需要重新加载整个页面,从而提高用户体验。
直到后来行业巨头谷歌用它打造了前后端分离模式下的Gmail和google doc,这项技术一下子火爆起来。然后就有了老前端们所熟知的JQuery。个人感觉JQuery的名字可能就来自于它的核心功能之一:封装了AJAX调用功能。

前端组件化和工程化

AJAX火了数年,期间前端也变得越来越复杂,面临越来越多的挑战。再后来就出现了我们现在所熟知解决方案:前端组件化和工程化。下面我们会介绍一下现代前端开发的模式。

现代前端开发模式

前端工程化

随着前端复杂度的提升,传统写javascript 脚本和css的模式开发难度逐渐加大,难以为继,然后就出现了前端开发工程化的趋势。
前端开发工程化是指将前端开发过程中的一系列流程和工具进行规范和自动化,从而提高开发效率、减少重复劳动、降低出错率。其核心概念包括模块化、打包构建、自动化部署、自动化测试和持续集成等。旨在提高开发过程中的开发效率,减少不必要的重复工作时间,让开发人员更加专注于业务逻辑的开发。
前端开发工程化的主要实现方式有:

  • 脚手架项目:模板化的于快速搭建项目基础的工具,它可以通过简单的指令或命令来生成项目的基础代码和配置,从而避免重复编写相同的代码框架和基础配置。
  • 工具集:用于前端开发编译部署等生命周期中的各种工具软件

那么工程化具体的功能有哪些呢:

  • 模块化: import,
  • 项目配置:package.json, lock文件
  • IDE工具集:VScode及其插件
  • 构建:检查(lint), 编译(Babel), 打包(webpack, vite)
  • 测试:单元测试(如Jest), 集成测试(如Cypress)
  • CICD: 如Jenkins
  • 监控告警:如google firebase, Sentry

前端组件化

前端组件化其实是解耦合,封装,内聚,复用代码等编程思想的一种有效的实现的方法。而具体实践则是由React, Vue为代表的框架来实现。甚至还出现了浏览器原生的组件化标准即web components(但它一直不温不火的)
组件化的流行还带来了如下小趋势:

  • JSX 使用类似HTML/XML的方式来编写组件,JSX虽然只是语法糖,但却是改变前端开发思维方式的重要一步,更直观的代码,大大平缓了学习曲线。
  • CSS In JS:既然是组件,自然会有将界面逻辑和界面样式都封装到一个组件的需求。Styled Component等CSS in JS的方案,使得外观和逻辑代码可以轻松结合在一起封装成组件。
  • Theme: 现代UI组件库往往提供自定义Theme和切换Theme的能力。使得我们可以在组件外观绑定的同时给予UI风格一致的灵活性。

单页应用

SPA即single page application,是最典型的React/Vue组织前端页面的方法,即整个前端应用其实是一个页面,里面页面切换使用前端路由,浏览器层面并未发生真正的页面跳转。使得应用能够与用户交互,无需重新加载整个页面,代码逻辑也是一个整体,更像一个应用程序而不是分散的网页。
前端路由本质是对 url 的 hash 值进行改变和监听,通过切换对应页面组件的 dom 结构来实现多个页面的效果。前端路由可以将不同的路由对应到不同的内容或页面,使得页面不刷新,提高用户体验,也是实现SPA的基石。

##前端适配
现代前端以及不仅仅指狭义的网页开发了,往往要兼容和适配多不同终端:

  • 多种运行时:
    • 浏览器
    • 原生App(iOS, Android,鸿蒙
    • APP内嵌Web View
    • 兼容性APP(Flutter)
    • 小程序(微信,京东,支付宝…)
  • 多种设备
    • 电脑
    • 平板
    • 手机
    • 其他可穿戴或者嵌入式设备

微前端

微前端是一种发挥着 多个团队通过独立发布功能的方式来共同构建现代化 web应用的技术手段及方法策略。
微前端的核心目标是将巨石应用拆解成若干可以自治的松耦合微应用,这样才能确保微应用真正具备独立开发、独立运行的能力。

更多相关技术

游戏开发

除了上面介绍的经典前端应用外,其实游戏也是一个很有价值的方向。

  • WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起在浏览器中运行。WebGL的出现大大拓展了前端绘图能力,使得在浏览器,小程序或web view中3D绘图变得可行,而且速度也不错,这是web 游戏能够实现的根基。
  • 游戏引擎,不少游戏引擎支持浏览器环境运行,比如著名的Cocos,轻量级的PixiJS,以及曾经火爆的白鹤引擎(白鹤是优秀的国产游戏引擎,市场占有率非常高,但后来大概是因经营原因停止更新了,很可惜)

Web Assembly

如果我不想用javascript 或者typescript怎么办?试试Web Assembly吧。
WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。它设计的目的不是为了手写代码而是为诸如 C、C++和Rust等低级源语言提供一个高效的编译目标。
因为它的安全性,隔离性以及语言无关性,Wasm 运行时可以以近似原生性能安全地隔离和执行用户空间代码,所以Web Assembly也可以用在其他需要沙箱机制的地方,比如Envoy Proxy 就率先使用 Wasm 作为扩展机制作为对数据平面的编程。

小结

本文大概介绍了前端开发的前生今世,希望能对不熟悉的人和新手前端有所帮助。任何意见和建议,都欢迎留言讨论。

http://www.hkea.cn/news/589345/

相关文章:

  • 网站策划建设seo搜索排名影响因素主要有
  • 大型商业广场网站建设互联网推广方案怎么写
  • p2vr做的网站上传网络广告策划书范文
  • 2022年大连黄页优化搜索引擎营销
  • 宁波有几个区昭通网站seo
  • 建设企业网站方案网站优化软件哪个好
  • 郑州做网站要搜索引擎最新排名
  • wordpress建好站了打不开首页成都关键词优化排名
  • 京东网站开发需求如何做谷歌优化
  • 微信app开发诊断网站seo现状的方法
  • 做旅行网站网站seo优化多少钱
  • 上海专业网站建设咨询网络销售怎么样
  • 奶茶网页设计图片湖南seo网站多少钱
  • 家里电脑做网站服务器如何建立网址
  • 临西做网站哪里便宜seo专业培训课程
  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站
  • 电商网站开发定制百度推广优化排名
  • 网站备案 法人身份证cba最新消息
  • 做公司网站需要什么手续厦门seo网站优化
  • 合肥本地网站网站关键词公司