
嗨,我叫Michael Kapelko。 我从事专业软件开发已有十多年了。 我在业余时间开发游戏和游戏开发工具。
本文介绍了我的第一个台式机持久应用程序:PSKOV静态站点生成器。
耐用性
持久性应用程序是一种功能,其功能在2010-2030年发布的操作系统上没有任何更改。 换句话说,持久的应用程序具有10年的向后兼容性,并且具有10年运行的稳定性。 实际上, PSKOV甚至可以在Windows 2000下运行,因此PSKOV具有19年的向后兼容性。
从技术角度来看,PSKOV是一个单独的HTML文件,其中包含布局(HTML),样式(CSS)和代码(JavaScript)。 PSKOV严格在Web浏览器中运行,而无需连接任何服务器。
这样的实现为PSKOV提供了以下功能:
- 可以不受限制地复制
- 它可以在任何地方托管
- 它可以在本地运行
- 它可以在没有互联网的情况下运行
我无法保证10年的稳定,因为我无法控制未来。 但是,HTML,CSS和JavaScript的发展历史告诉我们,这些技术的开发具有最大的向后兼容性。 首先,新的JavaScript功能使旧功能仍然可以使用。 其次,Web浏览器开发人员对使他们的Web浏览器与尽可能多的网站一起使用感兴趣。 例如,在2014年宣布弃用的<center>标签自2019年起五年后仍可按预期工作。
同时,每个Web浏览器应用程序都有一个严格的限制,称为沙箱,这是笼子的一个欺骗性名称。 笼子阻止未经其所有者的明确许可(CORS)才能访问用户的本地文件系统和几乎所有Internet资源。 结果,该应用程序只能通过单独的服务器或通过提供文件以手动下载来与用户通信。 一件一件地下载文件或将其作为档案下载是不便的,这就是如今面向服务器的方法占据统治地位的原因。 我将在稍后讨论这种方法的问题。
为了从笼子中释放PSKOV ,创建了LFSA , 这是一个很小的Python脚本,需要在PSKOV运行时手动运行。 LFSA允许PSKOV访问用户的本地文件系统。 选择Python是因为Linux和macOS默认安装了Python,并且用户可以轻松地在Windows(甚至Windows 2000)上安装Python。
往绩
PSKOV已成功用于创建以下小型站点:
现在让我们看看为什么PSKOV被创建为Web浏览器的持久应用程序。
原因1:以易于访问的方式收集和保留知识
几年来,我一直在开发便捷的游戏开发工具。 到目前为止,所收集的知识以台式PC的本机应用程序 ,相关技术的教育文章以及展示视频为代表 。 这些收集的知识的形式基本上已经消失了:
- 很少有人会下载未知的应用程序
- 很少有人会看一些视频
- 更少的人会读一些文章
在许多方面,这种死亡是由于无法进入而造成的:人们必须付出未知的努力才能获得未知的结果。 几乎没有人对此感兴趣。 一个Web浏览器应用程序(可能在任何地方都可以访问)是完全不同的交易:您只需要做出已知的努力,单击一个链接即可获得未知的结果。 进行推特革命的历史证明,几乎任何人都可以打开链接并“喜欢”“血腥政权”的变化。
原因2:以人为本
如今,任何Internet活动都是通过几乎总是属于某个公司的服务来执行的: 消息 , 地图 , 搜索 , 音乐 , 源代码等。 这种权力篡夺导致其所属公司认为无利可图的服务 关闭 。 他们通常在没有第一时间将生命带入这些服务的用户的情况下进行此操作。
有时,公司只是阻止竞争的浏览器访问其服务,就像最近的网络版Skype一样 。 幸运的是,有些人不同意这种政治。 多亏了他们, 解锁工具出现了。
对于我来说,我认为这种处理事情的方式不合适。 但是,野蛮的生意并不是唯一应归咎于此的人。 普通用户,我们每个人也都会感到内。 您可能会争辩说,用户别无选择,其他人(政府,外星人,强调您所喜欢的东西)使这个世界变得不公平。 有些人甚至直接责怪政府/外国人,并相信没有他们,生活会很棒。 但是,人类历史告诉我们一个不同的故事 :“ 国家不是占领整个社会的敌军,而是从社会中生长出来并反映出来的国家 。”
作为人们的一部分,我决定从我自己开始,并尽我最大的力量:创建我需要的应用程序,以使它们对任何地方的所有人都可用和可访问。 PSKOV是第一次尝试,已经超出了我的期望。 当然,PSKOV具有LFSA和未加密的HTTP之类的限制; 要提高PSKOV的可访问性,还有很多工作要做,但是,我已经敢于挑战任何人:当前的PSKOV版本将在没有任何维护的情况下保持运行10年。
这就是描述我的第一个台式机持久应用程序:PSKOV静态站点生成器。