L'ecosistema JavaScript per a servidors ha viscut una transformació silenciosa però constant en els darrers anys. Mentre Node.js continua sent l'estàndard de facto, runtimes alternatius com Deno i Bun han irromput amb propostes més integrades i ràpides. La darrera versió 1.3.14 de Bun aporta un seguit de millores que, per a qualsevol equip de desenvolupament, representen una oportunitat real de simplificar el stack tècnic. En aquest article explorarem en profunditat la nova API de processament d'imatges integrada, Bun.Image, que promet eliminar la dependència de llibreries externes com sharp o jimp. Analitzarem les seves capacitats, el suport experimental per a HTTP/2 i HTTP/3, i l'impacte de les instal·lacions en calent 7× més ràpides. Tot des d'una perspectiva tècnica i empresarial, amb referències a com a Q2BSTUDIO abordem la construcció d'aplicacions a mida, integrant IA, ciberseguretat i cloud AWS/Azure en els nostres projectes.
Per què és rellevant una API d'imatges nativa en un runtime? Fins ara, manipular imatges al servidor amb JavaScript implicava recórrer a sharp (que requereix compilació de bindings nadius amb node-gyp) o a llibreries més pesades com jimp, escrites en JavaScript pur però amb rendiment limitat. Aquestes dependències afegien complexitat al pipeline d'integració contínua (CI/CD), especialment en entorns on cada commit desplega un contenidor nou. Bun.Image neix com un objecte global, sense necessitat d'importar res: n'hi ha prou amb invocar Bun.Image.fromBuffer() per començar a redimensionar, convertir a WebP, aplicar filtres o transformar a altres formats com PNG o JPEG. L'API és encadenable i fluida, molt similar a l'estil de sharp, cosa que facilita la migració des de projectes existents. Però el més important és que, en estar integrada al nucli de Bun, es beneficia de les mateixes optimitzacions V8 que acceleren l'execució de JavaScript, sense la sobrecàrrega de bindings nadius. Això no només redueix el temps de compilació als entorns de desenvolupament, sinó que també evita errors de compatibilitat entre sistemes operatius, habitual quan es treballa amb equips heterogenis o es desplega en cloud AWS/Azure.
Un exemple pràctic: processament d'avatars en temps real Imaginem una aplicació de xarxes socials que necessita redimensionar la foto de perfil d'un usuari i emmagatzemar-la en WebP per estalviar amplada de banda. Amb Bun.Image, el codi seria tan simple com rebre un buffer, redimensionar-lo a 256×256 amb ajust 'contain' per mantenir la relació d'aspecte, aplicar un desenfocament suau si es desitja, i convertir a WebP. Tot en una cadena de mètodes que retorna un Uint8Array llest per ser enviat a un bucket de S3 o com a resposta HTTP. No cal instal·lar sharp ni configurar node-gyp, cosa que accelera l'onboarding de nous desenvolupadors i redueix la fricció en entorns d'integració contínua. A Q2BSTUDIO, on desenvolupem agents d'IA que processen imatges per a sistemes de seguretat o reconeixement visual, aquesta simplificació es tradueix en menys codi, menor superfície d'atac i un manteniment més senzill. La ciberseguretat es beneficia perquè, en reduir dependències externes, es minimitzen els vectors de vulnerabilitats a l'ecosistema npm.
Més enllà de les imatges: HTTP/2 i HTTP/3 experimentals Bun 1.3.14 també introdueix suport experimental per a HTTP/2 i HTTP/3 a l'API fetch. Tot i que l'estàndard fetch ja és compatible amb HTTP/1.1, les versions modernes del protocol permeten multiplexar múltiples sol·licituds sobre una mateixa connexió TCP (HTTP/2) o usar QUIC sobre UDP (HTTP/3), reduint la latència i millorant el rendiment en aplicacions que fan moltes peticions al mateix servidor, com microserveis o panells de BI/Power BI que consumeixen diverses APIs simultàniament. Per habilitar-lo, només cal passar un objecte opcional a fetch amb la propietat bun: { httpVersion: '2' } o '3'. La resta de l'API roman idèntica, cosa que permet integrar-lo sense refactoritzar. Tot i que experimental, és un primer pas cap a un runtime que pugui gestionar comunicacions modernes sense llibreries addicionals. En projectes d'aplicacions a mida que gestionen grans volums de dades en temps real, aquesta característica pot marcar la diferència en l'experiència d'usuari, especialment quan es combinen amb cloud AWS/Azure i serveis serverless.
Instal·lacions en calent 7× més ràpides: impacte real a CI/CD El tercer gran atractiu d'aquesta versió és la millora en les instal·lacions en calent (warm installs), és a dir, quan les dependències ja estan emmagatzemades a la memòria cau. Gràcies a l'aïllador d'enllaç (isolated linker) amb un magatzem global, el temps de bun install es redueix dràsticament. En proves realitzades amb microserveis típics que gestionen entre 30 i 40 paquets npm, el temps va passar d'uns 12 segons a aproximadament 1,7 segons en un runner de GitHub Actions. Per a equips que despleguen revisions de pull request en contenidors frescos, això escurça el feedback loop i redueix el cost d'infraestructura. També és rellevant en entorns edge, on el temps d'instal·lació pot ser el coll d'ampolla en l'arrencada en fred. A Q2BSTUDIO, on automatitzem processos de programari per a clients amb pipelines complexos, aquesta millora es tradueix en iteracions més ràpides i menor consum de recursos en cloud.
Val la pena actualitzar? Des de la nostra experiència en el desenvolupament d'aplicacions a mida, recomanem actualitzar a Bun 1.3.14 en la majoria dels escenaris. La migració és trivial: reemplaçar les importacions de sharp o jimp per invocacions directes a Bun.Image i afegir la bandera bun en fetch només on calgui multiplexat. L'estabilitat general és bona, tot i que convé mantenir el flag HTTP/2/3 desactivat en producció fins que l'API surti d'experimental. El major benefici immediat és la velocitat d'instal·lació en calent, que pot estalviar minuts en cada commit i reduir la factura de CI. Si el teu equip encara no ha adoptat Bun, aquesta versió és un excel·lent punt d'entrada, especialment si treballes amb agents d'IA, ciberseguretat o sistemes de BI que necessiten processar imatges de manera eficient. A Q2BSTUDIO, estem integrant aquestes capacitats en els nostres desenvolupaments per oferir solucions més robustes i ràpides als nostres clients.
Conclusió: Bun es consolida com un runtime tot en un La versió 1.3.14 reforça la promesa de Bun de ser un runtime que ho abasti tot, des del renderitzat d'imatges fins a la comunicació per protocols moderns. L'eliminació de dependències externes, la millora en el rendiment de CI i el suport experimental per a HTTP/2/3 el converteixen en una eina cada cop més atractiva per a startups i empreses que busquen simplificar el seu stack. Si vols saber com podem ajudar-te a implementar aquestes tecnologies en el teu proper projecte, a Q2BSTUDIO oferim serveis de desenvolupament d'aplicacions a mida, consultoria en IA, ciberseguretat, cloud AWS/Azure i Business Intelligence amb Power BI. No dubtis a contactar-nos per explorar com Bun pot accelerar el teu roadmap.





