简单来说,tmpUI
帮助你将分散的 html
,js
以及 css
组合起来,形成一个完整的程序。
如果你以前有开发过基于后端模板体系(比如 PHP
),以 MVC
模式构建的网站,那么你可以使用 tmpUI
来构建一个类似的网站,基本没有额外的学习成本。
基于 tmpUI
编写的程序,不需要编译,不需要打包,也不需要管理版本依赖。将你的心智负担降到最低。直接放到浏览器里就能运行啦。
我们为每个功能都准备了例子,方便你快速上手。
不出意外的话,数个小时就看完了。
本项目是基于 tmpUI 构建的演示程序,你可以将本项目克隆到本地。请使用这个 git 地址。
https://github.com/tmplink/tmpUI.git
在尚未熟悉 tmpUI 之前,可以直接基于本项目进行二次开发。
如果想要轻松愉快地快速开始,推荐使用 vscode + live preview 插件,可以一键启动程序,无需额外配置。
Live Preview (Microsoft)
- 开始
- 核心功能:模块化与路由
- 进阶功能
目前已有这些网站是使用tmpUI进行构建的,如果你也使用了 tmpUI 构建了项目,欢迎提交 issue,我们会将它放在这里陈列。
https://app.tmp.link 一个好用的网盘。
http://bs4.vx.link Bootstrap 4 中文文档。
https://www.vx.link 微林。
https://www.vnet.one 零维。
现在,tmpUI 的新的使命是,通过针对需求的功能开发,来进行分阶段的学习,使您对基于浏览器的编程获得更深入的了解。 tmpUI 被设计为一个非常基本的框架,只内置了一些很普遍的功能,比如 “页面缓存”,“路由”,“模块化” 等基础功能。剩下的,您自行决定。
因此,在使用 tmpUI 制作您的项目时,您可以获得足够大的自由度,而不是被一些框架所约束。您可以自由畅想,自由发挥,自由创造。
比如,若要实现类似单页应用程序 (SPA) 那样的功能,您可以自己设计一个页面路由模块,而不是使用 tmpUI 自带的路由模块。以实现无刷新的体验。
我们相信,在这样的过程中,您可以获得足够的成就感,从而获得更多的动力,继续学习,继续创造。
在过去的时代,PHP
,ASP.net
,Java
以及 jQuery
统治了 Web
开发的半壁江山。而现在,只剩下 PHP
和 Java
。MVC
模式曾是主流,尽管时代变换,移动端崛起,但是仍然有许多思想也一直传承至今。
从过去的经验来看,作者认为,尽可能不要去用某个框架(依赖)是非常重要的基本策略(这对要求对你所使用的编程语言本身要有相当程度的理解和应用,也就是所谓的编程基本功)。不过在实际开发中,不可能每项功能都要自己去再实现一遍(造轮子),因此这里面有一个准则:所选的轮子,不能限制了当前的功能,并对以后的功能造成约束。也就是所谓的低耦合度。
我们的最终目标是制作出好用实用的产品,一个产品在设计和实施的过程中,修修改改是很常见的情况,因此上面提到的准则可以帮助这个产品不会被束缚。
在设计 tmp.link
之初,作者考察过 VUE
和 React
,这些框架都是为现代化应用程序设计,也具备相当不错的设计模式,我想如果有新项目,我应该会考虑用上它。
但是对于我们的项目来说,步子无法跨得很大,需要考虑到时间成本。因此,笔者设计了 tmpUI
。
那么 tmpUI
有没有突破上述准则(低耦合度)的呢?
作者认为是没有的。
Javascript
的世界有非常多,非常好用的插件,而且不会互相干扰。这对于依靠这些插件来实现功能的程序员来说真的是在友好不过了。将项目从模板式结构的后端项目,迁移至 tmpUI
,你不需要学习一种全新的设计模式甚至是语法。
以前的 Javascript
插件现在也能用,这就是我们设计它的另外一个重要目标。
tmpUI
的本质实际上是类似于 C++
与 C
的关系 ,它要给浏览器添加 include
或者 require
的这样那样的功能,之前后端基于 MVC
模板架构的项目可以以最低成本迁移到前后端分离的模式。而开发人员也不会有高昂的学习成本。因此你也可以把 tmpUI
当作是另外一种形式的 Javascript
插件。
现阶段,tmpUI
实现了基本的模块化和路由,还额外增加了进阶功能:嵌入式模板,多语言支持,动态路由等三种比较实用的功能。
tmpUI
基于 MIT License
发布。
你可以自由使用在自己的项目中,也可以修改,复制及分发,不限制是否用于商业领域。
请保留原始版权。