2023年前端开发的八大趋势,值得你关注下

news2024/9/25 17:17:14

ffb4152be6a0ca14e647e365bd039d14.jpeg

随着新年的到来,许多人制定了提高自己和工作的决心。对于前端开发人员而言,跟上最新的潮流趋势是成功的关键。特别是在经济不好的情况下,很多科技专家在最近一个季度内被解雇,这更加强调了这一点。在2023年,有许多令人兴奋的发展趋势值得关注。在这篇文章中,我们将会了解2023年前八个前端趋势,并探讨它们如何帮助您建立自己的作品集,并吸引雇主的注意。

1、Jamstack

Jamstack最初是指JavaScript、API和Markup,现在已经成为了一个广泛使用的术语,用于指代基于客户端JavaScript、可重复使用的API和预构建的Markup的Web开发基础架构。这是Netlify的CEO和联合创始人Mathias Biilmann的定义。

这三个元素的结合使得开发人员能够更简单、更快速、更经济地开发网站。这种架构还通过消除对数据库或服务器保护的需要,使网站更安全。此外,基于Jamstack的网站是可扩展的,这意味着如果项目变得受欢迎,内容交付网络(CDN)可以相应地进行调整。

在中国,随着互联网的快速发展和技术的不断进步,Jamstack这种Web开发基础架构的优势越来越受到人们的关注和认可。与传统的Web开发方式相比,Jamstack具有更快的加载速度、更高的安全性、更容易扩展等优点。这对于中国的互联网企业来说,将会有助于提高网站的用户体验、降低运营成本、提高安全性,从而实现更好的商业目标。因此,Jamstack的发展前景非常广阔,相信在未来的发展中,将会在中国市场上得到更广泛的应用。

2、Web开发中的移动优先策略

由于大多数浏览现在都在移动设备上进行,因此企业必须重视这种策略。这不仅仅是要开发一个在智能手机上看起来好的网站,而是要创建一个响应式的网站,即在不同屏幕大小的移动设备上都能够呈现良好的视觉效果。响应式的网站设计是最重要的Web开发趋势之一,以下规则可以帮助实现这一目标:

  • 强调垂直方向而不是横向方向,并设计针对触摸交互的界面

  • 实现meta viewport标签以帮助浏览器调整页面的缩放方式

  • 利用不同的布局方法,如网格、多列或Flexbox等,使布局适应视口

  • 使用CSS查询根据设备的能力调整元素的大小。

在中国,移动互联网用户的数量已经超过了PC端用户的数量,因此,采用移动优先的Web开发策略将成为Web开发的一个重要趋势。在开发过程中,开发人员需要注意网站的响应式设计,确保网站可以适应不同尺寸的移动设备,并提供更好的用户体验。这将有助于提高网站的访问量和转化率,从而提高企业的竞争力和收益。

3、无头(Headless)内容管理架构

无头CMS是一种在Netflix采用后变得流行的内容组织方式。与传统的CMS相比,无头CMS将前端和后端分开,意味着它们是两个不同的系统,一个用于内容创作和存储,另一个用于呈现它们。使用无头CMS的目的是使内容交付快速和简便,从而使内容创建者不需要与代码打交道。

在传统CMS中,所有内容(如图像、视频、文本和代码)都存储在一起。这意味着前端和后端紧密联系在一起,使得更新内容变得困难。随着人们同时在多个设备上消费信息,内容必须在所有设备上都看起来很好,这就是为什么无头内容管理架构变得越来越受欢迎的原因。这并不是说传统的CMS不好,而是人们消费内容的方式已经改变,Web开发也发生了变化。

一旦内容创建完成,无头架构将使用API来提供内容,并使其在任何设备上都看起来很好。这样,前端和后端可以单独进行优化,使内容交付更快,更可靠。这种方式不仅可以使网站的性能更加高效,而且也可以让开发人员更加专注于开发其他方面,如UI/UX设计和功能实现。

例如,对于电子商务,commercetools是一种无头商业平台,允许企业通过一组API管理其产品、库存和订单,同时提供一个可定制的前端框架来匹配其品牌和设计。对于媒体平台,Contentful是一种无头CMS解决方案,提供一组API用于管理内容,同时提供一个可定制的前端框架来匹配媒体平台的设计和布局。它支持各种媒体类型,包括文本、图像、视频和音频。

4、暗黑模式

许多流行的平台,如 Facebook、Twitter、Instagram、Google 和 Reddit 已经实现了深色模式,根据对 Polar 用户的调查,即使在白天,95% 的用户更喜欢深色模式而不是浅色模式。这是因为深色模式有几个关键优势:

  • 它减少了屏幕发出的蓝光量。

  • 它可以帮助节省带有 OLED 或 AMOLED 显示屏的设备的电池寿命。

  • 它使所有用户的用户界面内容更易于访问和清晰。

  • 它可以帮助限制眼睛疲劳的风险,即使在光线不足的情况下也是如此。

因此,您必须学会在您正在构建的 Web 或应用程序项目中编写暗模式脚本。下面是如何在 HTML/CSS 和 Javascript 中启用暗模式的示例。

<body>
  <div class="container">
    <button id="dark-mode-toggle">Toggle Dark Mode</button>
    <p>Content goes here</p>
  </div>
</body>
/* Default theme */
body {
  background-color: white;
  color: black;
}

/* Dark mode */
.dark-mode {
  background-color: black;
  color: white;
}
const toggle = document.getElementById("dark-mode-toggle");
const container = document.querySelector(".container");

toggle.addEventListener("click", () => {
  container.classList.toggle("dark-mode");
});

这段代码演示了如何使用 HTML/CSS 和 JavaScript 实现一个基本的暗黑模式。代码中包括一个包含一个按钮和一些内容的 div 元素。当按钮被点击时,它会在 div 元素上切换一个名为 "dark-mode" 的 CSS 类,从而触发暗黑模式的效果。

CSS 部分定义了默认的主题和暗黑模式的主题,JavaScript 部分定义了点击事件和切换 CSS 类的逻辑。

需要注意的是,这只是一个基本的示例,可以根据实际需求进行自定义和修改。

5、加速移动网页加载速度

Accelerated Mobile Pages(简称AMP)是谷歌开发的一个开源项目,旨在为移动设备上的用户加速网页加载速度。统计数据表明,人们越来越多地使用智能手机和平板电脑访问网站。2019年,63.3%的网站访问量来自移动设备,而这个数字预计还会增长。

AMP采用了一种简化版本的HTML和一种轻量级版本的CSS来为移动页面加速,从而使富有内容的页面(如视频、动画和图形)与智能广告一起实现即时加载。

需要注意的是,桌面版本、移动版本和AMP版本都是网站的不同版本,它们之间不能相互替换。AMP旨在优化移动设备的用户体验,特别是在网络速度较慢的情况下,为用户提供更快速、更流畅的网页浏览体验。AMP还提供了一些特殊的HTML标签和JavaScript库,以增强移动页面的功能性,例如,它可以帮助页面在移动设备上优化显示,提供更好的阅读体验。

6、渐进式 Web 应用程序

渐进式 Web 应用程序(PWA)是一种像应用程序一样运行的网站。PWA 是使用特定技术构建的,通过网络提供。它们旨在在使用符合标准的浏览器的任何平台上运行,无论是桌面计算机还是平板电脑。PWA 具有许多类似本机应用程序的功能,包括:

  • 能够离线操作

  • 访问硬件功能,例如相机、麦克风或 GPS

  • 为所有者提供可靠的安装和为访问者快速加载

要构建 PWA,技术栈包括 HTML、JS 和 CSS。使用的技术包括服务工作者(Service Worker)、HTTPS、应用程序 Shell、Web 应用程序清单和推送通知。根据 Google 的说法,PWA 快速、可靠、具有吸引力,即使在不确定的网络条件下也能立即加载,对用户交互快速响应,并提供身临其境的用户体验,感觉像设备上的自然应用程序。Tinder、Pinterest、YouTube Music 和 Trivago Hotel Booking 等应用程序已经以这种方式开发,这一趋势可能会在2023年继续发展。

7、Web 开发编程语言趋势

在网站开发中,JavaScript 和 Python、NodeJS 是前端和后端开发中最流行的编程语言。

  • Express.js:一个免费、开源的 Web 应用程序框架,用于 Node.js,可以帮助快速、轻松地构建漂亮的 Web 应用程序。

  • Nest.js:一个灵感来自 Angular 的框架,广泛用于 Web 应用程序设计,特别擅长可扩展性方面。

  • Next.js:Next.js 是一个基于 React 的轻量级框架,旨在简化 React 应用程序的开发。它的主要目标是帮助开发人员构建具有高度可扩展性的应用程序,具有快速加载时间和优异的性能。Next.js 提供了一个简单而强大的模型,使开发人员可以快速构建静态和动态应用程序。它包括许多有用的功能,例如自动代码分割,服务器端渲染,静态文件服务,API 路由和更多。

  • Nuxt.js:一个灵感来自 Next.js 和 React.js 的框架,非常适合管理复杂的方面,如异步数据、中间件和路由。如果 SEO 是网站设计的必需品,Nuxt.js 也会非常有帮助,因为 Nuxt.js 优化可以轻松生成多个 SEO 友好的 HTML 页面。

8、低代码开发

低代码开发是近年来在网络开发领域备受关注的一个趋势。低代码开发是指使用最少的编程代码来开发应用程序或业务逻辑,这使得即使是没有IT或编程经验的初学者也能快速创建所需的功能。

虽然低代码开发还没有威胁到传统开发者的角色,但不可否认的是,这种趋势正在向低代码(或无代码)开发发展。据美国研究公司Gartner预测,到2024年,约65%的应用开发项目将通过低代码平台开发。这个趋势对于开发者来说是不容忽视的,预计未来几年开发者的工作方式也将逐渐发生变化。

FUNCTION12不是一个低代码开发工具,但它是一个可以提高开发者生产力的解决方案,特别是在UI视图编码方面。你可以考虑尝试使用这个设计转代码的工具,为新的一年做好准备。

延伸阅读

function12.io 是一个用于设计转代码的工具,可以将Figma,Sketch,Adobe XD等UI设计工具中的设计元素转化为可运行的HTML、CSS和JavaScript代码。使用这个工具可以极大地提高开发人员的生产力,减少设计和开发之间的沟通成本,缩短应用程序的开发周期。

这个工具的主要功能有:

  • 将设计转化为生产就绪的HTML、CSS和JavaScript代码,生成整洁、可读性高的代码,同时保持设计的精度和细节。

  • 自动化设计中的重复性任务,例如字体样式、颜色、尺寸、边距等,可以极大地减少手动处理的时间。

  • FUNCTION12集成了多个常用的JavaScript库和框架,可以轻松地将它们应用到代码中,加快开发速度。

总之,FUNCTION12是一款非常有用的工具,可以帮助开发人员更快速、高效地将设计转化为可运行的代码,大大节省了开发时间和精力。

结束

从本文整理的内容,我们可以看到这个领域的变化和发展是非常迅速的。新技术的出现和老技术的淘汰让前端开发者们需要不断地学习和更新知识。在未来,我们可以期待更多新的技术和工具的出现,而前端开发也将持续地朝着更高效、更优雅的方向发展。无论你是从事前端开发的专业人士,还是对这个领域感兴趣的初学者,始终保持学习和更新的心态,才能够在这个充满变化的领域中不断前进,不断突破自我,成为一名优秀的前端开发者。

https://medium.com/@function12/top-8-front-end-trends-to-note-in-2023-d02294f5302b

非直接翻译,有自己整理和加工部分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习 Python 之 Pygame 开发坦克大战(五)

学习 Python 之 Pygame 开发坦克大战&#xff08;五&#xff09;坦克大战完善地图1. 创建砖墙2. 给砖墙增加子弹击中的碰撞效果3. 给砖墙坦克不能通过的碰撞效果坦克大战完善地图 我的素材放到了百度网盘里&#xff0c;里面还有原版坦克大战素材&#xff0c;我都放在一起来&am…

Blazor入门100天 : 身份验证和授权 (2) - 角色/组件/特性/过程逻辑

目录 建立默认带身份验证 Blazor 程序角色/组件/特性/过程逻辑DB 改 Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql 生成实体类,freesql 管理ids数据表初始化 Roles,freesql 外键 > 导航属性完善 freesql 和 bb 特性 本节源码 https://github.com/…

Flink03: 集群安装部署

Flink支持多种安装部署方式 StandaloneON YARNMesos、Kubernetes、AWS… 这些安装方式我们主要讲一下standalone和on yarn。 如果是一个独立环境的话&#xff0c;可能会用到standalone集群模式。 在生产环境下一般还是用on yarn 这种模式比较多&#xff0c;因为这样可以综合利…

C++入门:引用

目录 一. 什么是引用 1.1 引用的概念 1.2 引用的定义 二. 引用的性质和用途 2.1 引用的三大主要性质 2.2 引用的主要应用 三. 引用的效率测试 3.1 传值调用和传引用调用的效率对比 3.2 值返回和引用返回的效率对比 四. 常引用 4.1 权限放大和权限缩小问题 4.2 跨…

【超好用】自定义的mybatis-plus代码生成器

BACKGROUND你是否也有这样的烦恼&#xff1a;每次写代码都需要创建很多包很多层很多类很多接口&#xff1f;耗时且费力姑且不谈&#xff0c;有时可能还大意了没有闪&#xff0c;搞出一堆bug这谁顶得住啊都3202年了&#xff0c;让程序自力更生吧&#xff01;&#xff01;教程 le…

原创|关于一次产品需求程序设计及优化的经历

文章目录一、流程梳理二、设计梳理三、技术方案3.1、下单接口扩展3.3.1、Request类新增deviceType3.3.2、申请单新增字段产品策略(productStrategy)3.3.3、下单产品策略的处理逻辑3.2、询价模块的设计3.2.1、Context设计3.2.2、ProductStrategy类设计3.2.2.1、AbstractProductS…

k8s篇之概念介绍

文章目录时光回溯什么是K8SK8S不是什么一、K8S构成组件控制平面组件&#xff08;Control Plane Components&#xff09;kube-apiserveretcdkube-schedulerkube-controller-managercloud-controller-managerNode 组件kubeletkube-proxy容器运行时&#xff08;Container Runtime&…

Spring Cloud Nacos实战(七)- Nacos之Linux版本安装

Nacos之Linux版本安装 Linux版NacosMySql生产环境配置 ​ 已经给大家讲解过了Nacos生产环境下需要搭建集群配置&#xff0c;那么这里我们预计需要&#xff1a;1个Nginx3个Nacos注册中心1个MySql 具体配置&#xff1a; 在官网上下载NacosLinux版本&#xff1a;https://github…

基于SSM框架的CMS内容管理系统的设计与实现

基于SSM框架的CMS内容管理系统的设计与实现 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目…

并查集(高级数据结构)-蓝桥杯

一、并查集并查集(Disioint Set)&#xff1a;一种非常精巧而实用的数据结构用于处理不相交集合的合并问题。用于处理不相交集合的合并问题。经典应用&#xff1a;连通子图。最小生成树Kruskal算法。最近公共祖先。二、应用场景有n个人&#xff0c;他们属于不同的帮派。 已知这些…

Kafka漏洞修复之CVE-2023-25194修复措施验证

Kafka漏洞修复之CVE-2023-25194修复措施验证前言风险分析解决方案AdoptOpenJDK Zookeeper Kafka多版本OpenJDK安装切换Zookeeper安装Kafka安装与使用其他Kafka消息发送流程Linux配置加载顺序参考链接前言 场景介绍 Kafka最近爆出高危漏洞CNNVD-202302-515&#xff0c;导致Apa…

LeetCode刷题复盘笔记—一文搞懂贪心算法之56. 合并区间(贪心算法系列第十四篇)

今日主要总结一下可以使用贪心算法解决的一道题目&#xff0c;56. 合并区间 题目&#xff1a;56. 合并区间 Leetcode题目地址 题目描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间…

QXlsx(访问Excel)

再Qt中已经有了QAxObject来访问Excel&#xff0c;但访问的是微软的com&#xff0c;只能访问正版的Excl中的 .xls//xlsx ,而且使用起来及其不方便&#xff08;本人亲测&#xff09;。 在这里使用QXlsx,能更简单的访问Excel数据&#xff0c;但QXlsx这个类并没有在Qt Creator中&a…

《MySQL学习》 MySQL优化器选择如何选择索引

一.优化器的选择逻辑 建表语句 CREATE TABLE t (id int(11) NOT NULL AUTO_INCREMENT,a int(11) DEFAULT NULL,b int(11) DEFAULT NULL,PRIMARY KEY (id),KEY a (a),KEY b (b) ) ENGINEInnoDB;往表中插入10W条数据 delimiter ;; create procedure idata() begindeclare i in…

目标检测三大数据格式VOC,YOLO,COCO的详细介绍

注&#xff1a;本文仅供学习&#xff0c;未经同意请勿转载 说明&#xff1a;该博客来源于xiaobai_Ry:2020年3月笔记 对应的PDF下载链接在&#xff1a;待上传 目录 目标检测常见数据集总结 V0C数据集(Annotation的格式是xmI) A. 数据集包含种类: B. V0C2007和V0C2012的区别…

QT学习记录散件

fromLocal8Bit() qt中fromLocal8Bit()函数可以设置编码。 因为QT默认的编码是unicode&#xff0c;不能显示中文的 而windows默认使用&#xff08;GBK/GB2312/GB18030&#xff09; 所以使用fromLocal8Bit()函数&#xff0c;可以实现从本地字符集GB到Unicode的转换&#xff0c;从…

32-Golang中的map

Golang中的map基本介绍基本语法map声明的举例map使用的方式map的增删改查操作map的增加和更新map的删除map的查找map的遍历map切片基本介绍map排序map的使用细节基本介绍 map是key-value数据结构&#xff0c;又称为字段或者关联数组。类似其它编程语言的集合&#xff0c;在编程…

2023美赛ABCDEF思路汇总

注&#xff1a;以下每个题思路仅是个人所想所做&#xff0c;不代表他人。由于时间仓促完成这么多&#xff0c;难免有不足之处&#xff0c;还请谅解。 文章目录A题第一大问第二大问B题第一问第二问第三问C题第一问第二问第三问第四问D题第一问第二问第三问第四问第五问E题第一问…

#Paper Reading# Language Models are Unsupervised Multitask Learners

论文题目: Language Models are Unsupervised Multitask Learners 论文地址: https://life-extension.github.io/2020/05/27/GPT技术初探/language-models.pdf 论文发表于: OpenAI 2019 论文所属单位: OpenAI 论文大体内容&#xff1a; 本文主要提出了GPT-2&#xff08;Gener…

Visual Studio 2022: 增加对虚幻引擎的支持

自 Visual Studio 2022 发布以来&#xff0c;我们一直专注于为游戏和大型项目开发人员提供一系列生产力和性能改进。今天&#xff0c;我们很高兴与大家分享下一组专门用来提高虚幻引擎开发效率的功能。我们听到并看到了来自你&#xff08;我们的游戏开发人员&#xff09;的大量…