译者 | 布加迪
审校 | 重楼
2024年可谓是Web开发领域的多事之秋。大约70%的开发人员接受了人工智能(AI)的存在,在一定程度上平息了整个行业的担忧。2025年将会有更多相同的一幕,但Web开发领域又会有哪些不太为人所知的开发技术趋势?什么会让你有别于其他可能已经依赖AI的开发人员?
以下五个技术趋势代表了塑造Web开发未来的重大转变,它们将帮助你在新的一年里从开发人员当中脱颖而出。
1. 不要低估Vanilla JS的力量
随着开发人员意识到没有依赖项的精简代码具有的价值,Vanilla JavaScript的重要性又重新引人瞩目。
像React、Angular和Vue这样的框架主导着Web,但它们会给简单的项目增添不必要的复杂性。Vanilla JS的坚固基础不仅可以减少臃肿,还可以增强开发人员跨堆栈排除故障和优化代码的能力。
当然,这并不意味着我们应该成为穴居人,坚持JS纯粹主义,但我们不能否认对框架的过度依赖及其对Web性能的影响。
不妨考虑一下这个用纯JavaScript实现的简单直观的图像滑动器的示例:
<div id="slider">
<img id="slide" src="image1.jpg" alt="Image Slide">
<button id="prev">Previous</button>
<button id="next">Next</button>
</div>
const images = ['image1.jpg', 'image2.jpg', 'image3.jpg'];
let currentIndex = 0;
const slide = document.getElementById('slide');
const prevButton = document.getElementById('prev');
const nextButton = document.getElementById('next');
prevButton.addEventListener('click', () => {
currentIndex = (currentIndex - 1 + images.length) % images.length;
slide.src = images[currentIndex];
});
nextButton.addEventListener('click', () => {
currentIndex = (currentIndex + 1) % images.length;
slide.src = images[currentIndex];
});
通常,人们会使用Swiper、Slick甚至Glide.js来执行此操作,并添加额外的部分。但是如果使用Vanilla JS,你可以全面控制实现,无需额外库带来的开销。这种方法不仅占用资源少,还促进了对核心Web原则更深入的理解。
2. 传统简历已死,使用Three.js
鉴于人人都在使用AI,如果你想成为一名脱颖而出的开发人员,仅仅发送一份文本简历还不够。你希望它对ATS友好,但是你的实际工作成果又如何?你能创建什么?你又有什么引以为傲的资本?
一份出色的开发人员作品集可以让你在竞争激烈的市场中脱颖而出,Three.js提供了一种无与伦比的方式来创建惊艳的交互式Web体验。
简历不再是静态文档,它们可以实时展示你的技术能力。一个精心执行的Three.js项目可以展示你掌握现代Web技术的程度,同时给潜在的雇主留下深刻的印象。
下面是一个创建交互式旋转立方体的基本示例:
<canvas id="three-canvas"></canvas>
import * as THREE from 'three';
const canvas = document.getElementById('three-canvas');
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer({ canvas });
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
camera.position.z = 5;
function animate() {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
Three.js的优点在于它允许你使用自定义纹理和着色器,以及从Blender导入你自己的模型。你掌握了这种JS方法后,还可以开始整合交互式要素,比如用户控制的动画或动态数据可视化。
3. 安全知识变得更为重要
仅在2022年,公司企业在网络安全方面的支出就超过了700亿美元,预计这个数字还会进一步上升。这足以表明安全不再是一个可选的考虑因素。开发人员不能仅仅是码农,不能忽视内容创建者在现实世界中的影响。
我们需要随时了解常见的漏洞,比如跨站脚本(XSS)、SQL注入和不安全的API配置。积极主动的安全措施可以使组织避免代价高昂的安全事件,并保护用户远离危害,擅长这些措施的开发人员将始终领先一步。
比如说,内容安全策略(CSP)是缓解XSS攻击的一种方法,你可以按照以下方式实现它们:
const express = require('express');
const helmet = require('helmet');
const app = express();
// Use Helmet to set secure headers
app.use(helmet());
// Example CSP
app.use(helmet.contentSecurityPolicy({
directives: {
defaultSrc: ["'self'"],
scriptSrc: ["'self'", "'unsafe-inline'"]
}
}));
app.get('/', (req, res) => {
res.send('<h1>Secure App</h1>');
});
app.listen(3000, () => console.log('App running on http://localhost:3000'));
除了创建更好的网站外,还有另一个好处——关注安全的开发人员日益因事先应对威胁的能力而备受重视。
更不用说,在特定领域工作天生就需要安全知识。如果你不知道如何设置符合PCI的主机托管,怎么能为一家金融科技公司工作?医院网站开发人员会不知道《健康保险可携性及责任性法案》(HIPAA)吗?
这可以促进与DevOps团队与安全团队的协作,从而获得宝贵的新知识、扩大圈子的机会以及职业发展途径。
4. AI编程助理的未来在本地
编程助理在Web开发领域掀起了一场风暴,GitHub Copilot及其他主流解决方案站在了最前沿。
然而远离公众视线的是,用于编程的开源本地LLM大行其道,这表明开发人员与AI工具交互的方式出现了重大转变。基于云的AI助理已主导了这个领域,但本地模型提供了独特的优势——包括增强隐私、减少延迟和易于定制的环境。
在本地运行模型允许开发人员始终全面控制敏感数据,同时避免依赖外部API。像Ollama这样的工具使这个过程变得简单直观,可以无缝地设置和管理开源模型。就像下面这么简单:
# Install Ollama
brew install ollama
# Pull an open-source model, such as Llama 2
ollama pull llama-3.2
# Start the model locally
ollama start llama-3.2
# Query the model + include instructions for the output itself
ollama query llama-3.2 "Explain the concept of closures in JavaScript and give me 5 examples."
在本地运行时,模型直接依赖于硬件运行,从而消除了网络调用带来的延迟。这对于速度和响应性至关重要的迭代式任务尤其有用。此外,本地部署提供了为特定任务微调模型或者将它们与你的开发工作流程紧密集成的灵活性。
比如说,开发人员可以将本地运行的模型与自动化脚本结合起来,创建适合自己需要的编程助理:
import subprocess
def query_model(prompt):
result = subprocess.run(["ollama", "query", "llama-2", prompt], capture_output=True, text=True)
return result.stdout
response = query_model("How do I implement a linked list in Python?")
print(response)
这种方法突显了本地模型具有的变革潜力。它们支持AI辅助的先进开发,同时提供比基于云的方法更好的隐私和定制性。一旦我们拥有功能更强大的模型,它们将成为PC端和移动设备端开发人员的标准。
5. 不要忽视无代码和低代码工具
你知道有些公司称采用无代码解决方案可以节省高达70%的开发成本吗?随着AI制作Python脚本、制作基本的CSS,甚至制作任何人都可以使用的自制课程,是时候面对现实了。
作为开发人员,如果我们要在2025年及以后蓬勃发展,必须学会如何将我们的知识与无代码平台的易用性结合起来。Webflow、Xano甚至Backendless都是职业捷径,而不是改变行当的工具。
不要担心这些工具会把你的事业置于险境。相反,我们应该这样看待它:无代码和低代码平台正在改变构建应用程序的方式,为非技术人群降低门槛,同时加快开发进度。这些工具使开发人员能够专注于复杂的后端逻辑和集成,同时允许团队快速创建原型、进行迭代开发。
虽然一些开发人员最初可能会对这些工具持怀疑态度,但它们简化流程和方便数字创作的能力不容忽视。
在2025年保持敏捷
Web开发的发展轨迹一如既往地充满了变数。由于变化日新月异,开发人员必须保持灵活适应,不断学习和接受新的工具和实践。从利用Vanilla JS的简单性到探索本地AI模型的强大功能,作为一名开发人员有很多机会可以脱颖而出。
保持领先意味着不仅要了解当前的趋势,还要预测未来的转变。如果采用这些实践,并将其整合到工作流程中,你就可以巩固自身作为具有前瞻性思维的开发人员这一角色,随时准备应对快速发展的数字世界带来的重重挑战。
原文标题:5 Technical Trends To Help Web Developers Stand Out in 2025,作者:Alexander Williams