Skip to content

Latest commit

 

History

History
92 lines (68 loc) · 5.59 KB

index.md

File metadata and controls

92 lines (68 loc) · 5.59 KB

概览

简单来说,tmpUI 帮助你将分散的 htmljs 以及 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 自带的路由模块。以实现无刷新的体验。
我们相信,在这样的过程中,您可以获得足够的成就感,从而获得更多的动力,继续学习,继续创造。

从何而来

在过去的时代,PHPASP.netJava 以及 jQuery 统治了 Web 开发的半壁江山。而现在,只剩下 PHPJavaMVC 模式曾是主流,尽管时代变换,移动端崛起,但是仍然有许多思想也一直传承至今。

从过去的经验来看,作者认为,尽可能不要去用某个框架(依赖)是非常重要的基本策略(这对要求对你所使用的编程语言本身要有相当程度的理解和应用,也就是所谓的编程基本功)。不过在实际开发中,不可能每项功能都要自己去再实现一遍(造轮子),因此这里面有一个准则:所选的轮子,不能限制了当前的功能,并对以后的功能造成约束。也就是所谓的低耦合度。

我们的最终目标是制作出好用实用的产品,一个产品在设计和实施的过程中,修修改改是很常见的情况,因此上面提到的准则可以帮助这个产品不会被束缚。

在设计 tmp.link 之初,作者考察过 VUEReact ,这些框架都是为现代化应用程序设计,也具备相当不错的设计模式,我想如果有新项目,我应该会考虑用上它。
但是对于我们的项目来说,步子无法跨得很大,需要考虑到时间成本。因此,笔者设计了 tmpUI

那么 tmpUI 有没有突破上述准则(低耦合度)的呢?

作者认为是没有的。
Javascript 的世界有非常多,非常好用的插件,而且不会互相干扰。这对于依靠这些插件来实现功能的程序员来说真的是在友好不过了。将项目从模板式结构的后端项目,迁移至 tmpUI,你不需要学习一种全新的设计模式甚至是语法。

以前的 Javascript 插件现在也能用,这就是我们设计它的另外一个重要目标。
tmpUI 的本质实际上是类似于 C++C 的关系 ,它要给浏览器添加 include 或者 require 的这样那样的功能,之前后端基于 MVC 模板架构的项目可以以最低成本迁移到前后端分离的模式。而开发人员也不会有高昂的学习成本。因此你也可以把 tmpUI 当作是另外一种形式的 Javascript 插件。

现阶段,tmpUI 实现了基本的模块化和路由,还额外增加了进阶功能:嵌入式模板,多语言支持,动态路由等三种比较实用的功能。

版权

tmpUI 基于 MIT License 发布。 你可以自由使用在自己的项目中,也可以修改,复制及分发,不限制是否用于商业领域。 请保留原始版权。