譯者 | 布加迪
審校 | 重樓
2024年可謂是Web開發(fā)領(lǐng)域的多事之秋。大約70%的開發(fā)人員接受了人工智能(AI)的存在,在一定程度上平息了整個(gè)行業(yè)的擔(dān)憂。2025年將會(huì)有更多相同的一幕,但Web開發(fā)領(lǐng)域又會(huì)有哪些不太為人所知的開發(fā)技術(shù)趨勢(shì)?什么會(huì)讓你有別于其他可能已經(jīng)依賴AI的開發(fā)人員?
以下五個(gè)技術(shù)趨勢(shì)代表了塑造Web開發(fā)未來的重大轉(zhuǎn)變,它們將幫助你在新的一年里從開發(fā)人員當(dāng)中脫穎而出。
1. 不要低估Vanilla JS的力量
隨著開發(fā)人員意識(shí)到沒有依賴項(xiàng)的精簡(jiǎn)代碼具有的價(jià)值,Vanilla JavaScript的重要性又重新引人矚目。
像React、Angular和Vue這樣的框架主導(dǎo)著Web,但它們會(huì)給簡(jiǎn)單的項(xiàng)目增添不必要的復(fù)雜性。Vanilla JS的堅(jiān)固基礎(chǔ)不僅可以減少臃腫,還可以增強(qiáng)開發(fā)人員跨堆棧排除故障和優(yōu)化代碼的能力。
當(dāng)然,這并不意味著我們應(yīng)該成為穴居人,堅(jiān)持JS純粹主義,但我們不能否認(rèn)對(duì)框架的過度依賴及其對(duì)Web性能的影響。
不妨考慮一下這個(gè)用純JavaScript實(shí)現(xiàn)的簡(jiǎn)單直觀的圖像滑動(dòng)器的示例:
<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];
});
通常,人們會(huì)使用Swiper、Slick甚至Glide.js來執(zhí)行此操作,并添加額外的部分。但是如果使用Vanilla JS,你可以全面控制實(shí)現(xiàn),無需額外庫帶來的開銷。這種方法不僅占用資源少,還促進(jìn)了對(duì)核心Web原則更深入的理解。
2. 傳統(tǒng)簡(jiǎn)歷已死,使用Three.js
鑒于人人都在使用AI,如果你想成為一名脫穎而出的開發(fā)人員,僅僅發(fā)送一份文本簡(jiǎn)歷還不夠。你希望它對(duì)ATS友好,但是你的實(shí)際工作成果又如何?你能創(chuàng)建什么?你又有什么引以為傲的資本?
一份出色的開發(fā)人員作品集可以讓你在競(jìng)爭(zhēng)激烈的市場(chǎng)中脫穎而出,Three.js提供了一種無與倫比的方式來創(chuàng)建驚艷的交互式Web體驗(yàn)。
簡(jiǎn)歷不再是靜態(tài)文檔,它們可以實(shí)時(shí)展示你的技術(shù)能力。一個(gè)精心執(zhí)行的Three.js項(xiàng)目可以展示你掌握現(xiàn)代Web技術(shù)的程度,同時(shí)給潛在的雇主留下深刻的印象。
下面是一個(gè)創(chuàng)建交互式旋轉(zhuǎn)立方體的基本示例:
<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的優(yōu)點(diǎn)在于它允許你使用自定義紋理和著色器,以及從Blender導(dǎo)入你自己的模型。你掌握了這種JS方法后,還可以開始整合交互式要素,比如用戶控制的動(dòng)畫或動(dòng)態(tài)數(shù)據(jù)可視化。
3. 安全知識(shí)變得更為重要
僅在2022年,公司企業(yè)在網(wǎng)絡(luò)安全方面的支出就超過了700億美元,預(yù)計(jì)這個(gè)數(shù)字還會(huì)進(jìn)一步上升。這足以表明安全不再是一個(gè)可選的考慮因素。開發(fā)人員不能僅僅是碼農(nóng),不能忽視內(nèi)容創(chuàng)建者在現(xiàn)實(shí)世界中的影響。
我們需要隨時(shí)了解常見的漏洞,比如跨站腳本(XSS)、SQL注入和不安全的API配置。積極主動(dòng)的安全措施可以使組織避免代價(jià)高昂的安全事件,并保護(hù)用戶遠(yuǎn)離危害,擅長(zhǎng)這些措施的開發(fā)人員將始終領(lǐng)先一步。
比如說,內(nèi)容安全策略(CSP)是緩解XSS攻擊的一種方法,你可以按照以下方式實(shí)現(xiàn)它們:
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'));
除了創(chuàng)建更好的網(wǎng)站外,還有另一個(gè)好處——關(guān)注安全的開發(fā)人員日益因事先應(yīng)對(duì)威脅的能力而備受重視。
更不用說,在特定領(lǐng)域工作天生就需要安全知識(shí)。如果你不知道如何設(shè)置符合PCI的主機(jī)托管,怎么能為一家金融科技公司工作?醫(yī)院網(wǎng)站開發(fā)人員會(huì)不知道《健康保險(xiǎn)可攜性及責(zé)任性法案》(HIPAA)嗎?
這可以促進(jìn)與DevOps團(tuán)隊(duì)與安全團(tuán)隊(duì)的協(xié)作,從而獲得寶貴的新知識(shí)、擴(kuò)大圈子的機(jī)會(huì)以及職業(yè)發(fā)展途徑。
4. AI編程助理的未來在本地
編程助理在Web開發(fā)領(lǐng)域掀起了一場(chǎng)風(fēng)暴,GitHub Copilot及其他主流解決方案站在了最前沿。
然而遠(yuǎn)離公眾視線的是,用于編程的開源本地LLM大行其道,這表明開發(fā)人員與AI工具交互的方式出現(xiàn)了重大轉(zhuǎn)變?;谠频?/span>AI助理已主導(dǎo)了這個(gè)領(lǐng)域,但本地模型提供了獨(dú)特的優(yōu)勢(shì)——包括增強(qiáng)隱私、減少延遲和易于定制的環(huán)境。
在本地運(yùn)行模型允許開發(fā)人員始終全面控制敏感數(shù)據(jù),同時(shí)避免依賴外部API。像Ollama這樣的工具使這個(gè)過程變得簡(jiǎn)單直觀,可以無縫地設(shè)置和管理開源模型。就像下面這么簡(jiǎn)單:
# 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."
在本地運(yùn)行時(shí),模型直接依賴于硬件運(yùn)行,從而消除了網(wǎng)絡(luò)調(diào)用帶來的延遲。這對(duì)于速度和響應(yīng)性至關(guān)重要的迭代式任務(wù)尤其有用。此外,本地部署提供了為特定任務(wù)微調(diào)模型或者將它們與你的開發(fā)工作流程緊密集成的靈活性。
比如說,開發(fā)人員可以將本地運(yùn)行的模型與自動(dòng)化腳本結(jié)合起來,創(chuàng)建適合自己需要的編程助理:
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輔助的先進(jìn)開發(fā),同時(shí)提供比基于云的方法更好的隱私和定制性。一旦我們擁有功能更強(qiáng)大的模型,它們將成為PC端和移動(dòng)設(shè)備端開發(fā)人員的標(biāo)準(zhǔn)。
5. 不要忽視無代碼和低代碼工具
你知道有些公司稱采用無代碼解決方案可以節(jié)省高達(dá)70%的開發(fā)成本嗎?隨著AI制作Python腳本、制作基本的CSS,甚至制作任何人都可以使用的自制課程,是時(shí)候面對(duì)現(xiàn)實(shí)了。
作為開發(fā)人員,如果我們要在2025年及以后蓬勃發(fā)展,必須學(xué)會(huì)如何將我們的知識(shí)與無代碼平臺(tái)的易用性結(jié)合起來。Webflow、Xano甚至Backendless都是職業(yè)捷徑,而不是改變行當(dāng)?shù)墓ぞ?/span>。
不要擔(dān)心這些工具會(huì)把你的事業(yè)置于險(xiǎn)境。相反,我們應(yīng)該這樣看待它:無代碼和低代碼平臺(tái)正在改變構(gòu)建應(yīng)用程序的方式,為非技術(shù)人群降低門檻,同時(shí)加快開發(fā)進(jìn)度。這些工具使開發(fā)人員能夠?qū)W⒂趶?fù)雜的后端邏輯和集成,同時(shí)允許團(tuán)隊(duì)快速創(chuàng)建原型、進(jìn)行迭代開發(fā)。
雖然一些開發(fā)人員最初可能會(huì)對(duì)這些工具持懷疑態(tài)度,但它們簡(jiǎn)化流程和方便數(shù)字創(chuàng)作的能力不容忽視。
在2025年保持敏捷
Web開發(fā)的發(fā)展軌跡一如既往地充滿了變數(shù)。由于變化日新月異,開發(fā)人員必須保持靈活適應(yīng),不斷學(xué)習(xí)和接受新的工具和實(shí)踐。從利用Vanilla JS的簡(jiǎn)單性到探索本地AI模型的強(qiáng)大功能,作為一名開發(fā)人員有很多機(jī)會(huì)可以脫穎而出。
保持領(lǐng)先意味著不僅要了解當(dāng)前的趨勢(shì),還要預(yù)測(cè)未來的轉(zhuǎn)變。如果采用這些實(shí)踐,并將其整合到工作流程中,你就可以鞏固自身作為具有前瞻性思維的開發(fā)人員這一角色,隨時(shí)準(zhǔn)備應(yīng)對(duì)快速發(fā)展的數(shù)字世界帶來的重重挑戰(zhàn)。
原文標(biāo)題:5 Technical Trends To Help Web Developers Stand Out in 2025,作者:Alexander Williams