❄️Devto新年快乐!我的结果️
时间:2025-01-19 16:33:44 496浏览 收藏
IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《❄️Devto新年快乐!我的结果️》,聊聊,我们一起来看看吧!
新年快乐!回顾2024,展望2025!这一年,我取得了一些令人兴奋的成果,现在就和大家分享一下。也欢迎大家在评论区分享你们的成就!
Campel.js 的优化之路
2024 年,我的主要目标是提升 Campel.js 框架的性能,使其成为网络上速度最快的框架之一,并且不依赖虚拟DOM。2023 年底,框架的性能指标为 1.12,虽然已经不错,但我仍追求极致。
经过大约半年的努力,我最终实现了目标!这个过程比预期的漫长,但最终成果令人满意。在夏季,我将性能提升至 1.08,取得了显著进展。
虽然理论上可以进一步优化到 1.05,但我认为核心问题已解决,继续优化意义不大。
完成 Campel.js 的优化后,我开始思考新的挑战,于是有了 Hmpl 项目。
Hmpl 项目:框架与服务器的共生
我意识到,仅仅开发框架意义有限,现代 UI 工具功能已经非常强大。但我也不想放弃快速渲染的优势,因此决定探索框架、扩展标记语言和服务器之间的协同关系。
例如,以下标记在独立使用时有效,但在框架中却无法直接应用:
<div class="tablecomponent">
<h1>data table:</h1>
<table class="table table-hover table-striped test-data"><thead><tr><th>id</th>
<th>name</th>
<th>material</th>
<th>quantity in stock</th>
<th>number of sales</th>
<th>price</th>
</tr></thead><tbody id="tbody"><template data-cample="data-table" data-cample-import="{{{tabledata}}}"></template></tbody></table><div class="navigation">
<div class="pagination">
{{data.currentpage}}
>
</div>
</div>
</div>
与其在框架上投入更多时间,不如将快速渲染与服务器端渲染 (SSR) 结合,创造更具价值的工具。Hmpl 项目应运而生,它并非构建新的架构,而是作为补充。
Hmpl 的第一个版本,也就是 cample-html,与之前的框架类似,但仅在服务器端运行。其使用方法如下:
const templatefn = camplehtml.createtemplate(
`<template data-cample="" data-method="get" data-src="/api/test"></template>`
);
// (服务器响应后) { element = template (htmltemplateelement type), status = 200 }
const elementobj = templatefn({
credentials: "same-origin",
get: (prop, value) => {
if (prop === "element") {
console.log(value);
}
},
});
经过六个月的开发,Hmpl 已经趋于成熟,具备缓存、事件处理、表单自动提交等功能,但仍有改进空间,例如设置请求间隔、添加 Websocket 支持等。
目前 Hmpl 的部分功能示例:
import { compile } from "hmpl-js";
const templateFn = compile(
`<div>
<div class="form-example">
<label for="login">Login: </label>
</div>
<div class="form-example">
</div>
<p>
{
{
src: "/api/register",
after: "submit:#form",
repeat: false,
indicators: [
{
trigger: "pending",
content: "</p><p>Loading...</p>"
}
]
}
}
</div>`
);
const initFn = (ctx) => {
const event = ctx.request.event;
return {
body: new FormData(event.target, event.submitter),
credentials: "same-origin"
};
};
const obj = templateFn(initFn);
const wrapper = document.getElementById("wrapper");
wrapper.appendChild(obj.response);
我相信 Hmpl 的潜力巨大,能够帮助许多开发者创建出色的网站。
总结与展望
2024 年,我们取得了不错的进展,但未来仍有更多目标需要实现。希望在 2025 年,我们可以做得更好!
你的2024年收获如何呢?期待你的分享!
祝大家新年快乐,梦想成真,代码优雅,bug 远离!
以上就是《❄️Devto新年快乐!我的结果️》的详细内容,更多关于的资料请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
387 收藏
-
280 收藏
-
134 收藏
-
324 收藏
-
236 收藏
-
128 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习