祭奠那些年,我弃坑的开源轮子
谨以此篇纪念我那些已经弃坑的轮子。
作为一个有理想、有追求的程序员,我造过许许多多的轮子。不幸的是,大部分轮子都死在沙滩上了,只有用 markdown 写的项目还活着。就这么着,我成为了 a famous MD programmer
。
我从 2010 年开始接触到 GitHub,不过真正活跃的时间是在 2014 年之后了。这些年来,陆陆续续也造了许许多多的轮子。造过的轮子很多,火起来的框架可是一个都没有,物联网框架 Lan 倒可以算得上,不过只有 200+ 个 star。 当然 star 很多的应用倒也有几个,如成长应用 Growth 也有 2k 个 star 了,然并卵。
不过,我倒还是造了很多『自用』的日常小工具,markdown 微信排版工具 mdpub、伪锁屏工具 ss,定制 badge 的 brand 等等。
趁着清明这个节日,我把这些弃坑的轮子,再拿出来鞭尸一下。
JavaScript 游戏引擎 Chinaware
这个名字听上去很霸气,中文翻译就是『瓷器』。弃坑的主要原因是,这个坑挖得太大了,我发现需要造的东西太多了,并且也已经有太多现成的方案了,如:
在对一个 jQuery 的 Tile Map 插件使用纯 JavaScript 重写之后,我就滚了~~。
还盗了别人的 Tile 图,2333
Lumia.css
很早以前,我是一个诺基亚用户,先后用了 Lumia 920,Lumia 1020。
当时想造一个纯 CSS 的框架,可以用在自己的开源项目上。于是我开了个坑:
然后不知道什么原因,也就没有然后了。。。
前端框架 Lettuce
在 Angular、React、Vue、Ember 还没有几分天下的时候,还是应该自己去造轮子。所以,我想自己想办法造了一个前端框架,还有一个对应的 Logo:
后来,这个框架只在我的几个小项目中出现过,这也算是值了。它让我有了造框架的快感~~。
下一代技术Blog/Presentation 框架 EchoesWorks
写这个轮子的时候,当时正值我需要做各种技术分享的时候。在今天看来,这个框架算是功能已经完成了,但是我都没有在正式的场合里用过。它是一个网页版的 PPT 工具,使用 Markdown 编写。并且支持一些『奇怪』的特性。
如:
- 直接显示 Github 代码
- 全屏背景图片
- 左/右侧图片支持
- 自动播放
- 『字幕』
- 分屏控制
这里的『字幕』我适配就比较奇特了~~,这个创意简直了。当你想分享一下视频的技术分享时,你只需要分享一下 PPT 和 录音,再搭上字幕,就相当于是一个高清版的视频。因为 EchoesWorks 可以支持:自动及定时播放 PPT、按时间显示字幕。
基于Virtual DOM 的测试代码生成 Luffa
这又是我当时想到的一个酷炫的 Idea。当我们编写功能测试的时候,我们需要监测页面 DOM 的变化。而有了 Virtual Dom 之后,我们可以轻松地 Diff 出修改的 DOM,并且还可以高亮这些修改的元素。
通过这个原因,我们就可以轻松地生成测试了。
哪知道:国内的大部分前端都是不会写测试的。
微信小程序 兼容框架 WINV
这个故事就有点长了。在微信小程序出来的那段时间里,我发现小程序是一个封闭的世界。于是便想着做一个框架,来让大部分小程序可以运行在浏览器上。于是就做了一个框架来做这件事:
- 兼容微信小程序的语法——它并没有多少复杂的语法。只是简单的Virtual DOM操作,以及事件绑定
- 尽可能兼容大部分的微信API,兼容所有的微信API几乎是不可能的。
- 提供一个Virtual DOM转换的混合应用插件。
你呢?
你造过哪些没人用的轮子了呢?
更多弃坑见:https://github.com/phodal/ideas
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- (九)python3 只需3小时带你轻松入门——函数自定义
- (十)python3 只需3小时带你轻松入门——模块与包
- (十一)python3 只需3小时带你轻松入门——面向对象
- 一文读懂KEGG数据库
- (创建模式 上)设计模式——工厂、抽象工厂 C++/Python3实现
- 【新手宝典】一篇博文带萌新建站并了解建站体系流程和对萌新友好的便捷方式,这篇博文很有可能是你的启蒙文
- 一种不需要敲代码的Python 画图方法
- 【一】Windows API 零门槛编程指南——MessageBox 基本使用及基础讲解
- 【二】Windows API 零门槛编程指南——CreateWindow 窗口创建 “万字长篇专业术语全解”
- 「零门槛多语言 Python/C/C# 通用思想学习系列」第一篇:经典HelloWorld
- 直播系统定制,判断数据连接是否可用
- VS Code 编辑器入门指南上篇-核心概念与组件
- Python turtle库实现基本剖析
- python thinker canvas create_arc 使用详解
- Python3 实现单例设计模式