[阅 #6] 你知道吗?有个高中生徒手写了一个在浏览器中运行的操作系统

「阅」——JSCourse 旗下栏目,专门推荐我们为大家精心挑选的优质 JavaScript 相关技术内容

又和大家见面了,我是小 J,本期为大家分享一个很震撼的故事——美国有个高中生,学了 2 年不到的编程就徒手实现了一个可以在浏览器中运行的「操作系统」。下面我来给大家讲讲这个真人真事,他的故事一定对大家学习 JavaScript 的同学们有不少启发。

故事开始前,先来看看他徒手实现的操作系统——aOS(AaronOS)

点击观看演示视频

从上面视频中可以看到这个系统其实每个桌面上的应用都是真实的,可以使用的,连游戏都是可以玩的!这得花多少时间去做?而且,据他所说,这个完全是徒手写的——也就是一个人,不用任何库(对,木有 Angular、木有 Vue、木有 React、连 jQuery 都木有)写成的(大家拖住下巴哦!)。故事来龙去脉怎么样的呢?准备好小板凳,小编开讲啦!

首先这位小朋友名叫 Aaron Adams, 来自美国的亚利桑那州,写 aOS 的时候还是一名高中生(今年刚高中毕业)。其实高一的时候还不懂编程,就是一名普通的高中生,学编程那完全是无心插柳、阴差阳错的事情。因为他对摄影很感兴趣,所以选课的时候(美国高中和我们大学一样是学分制的,需要选课修学分)他选了电影制作相关的课程。但是,毫无疑问地没有选上,因为满员了,换你也会选这种课啊,一听就很有意思对吧,所以就报的人太多,rp 没拼过别人没选上。然后就去上了一门和计算机技术相关的课程,大致学的东西就是怎么修电脑、使用 Office 这样的软件,当然包括编程。这门课就改变了 Aaron 的人生轨迹了(命运使然啊)。

Aaron 学编程的时候和我们大学的实验课差不多,就做一些比较小的项目,像计算器之类的。但是呢,他一直想自己做一个操作系统,然后呢,热血沸腾地开干,干着干着又干不下去放弃了,然后又开始做,再次放弃、再开始 ...... 就这样来来回回很多次(这个经历是不是似曾相似)。

最后呢,他觉得一次性做一个操作系统不现实,于是他决定一次制作相对独立的一部分,比如:先实现一个桌面再说,不管其他的(注意啦,划重点啦:这种方法叫「任务切分」,可以让你以更快地速度完成一个粒度更小的任务,这样能持续地获得满足感和自豪感)。就这样,他每次完成一个小任务就非常高兴(小编杜撰:晚上吃饭都不忘记给自己加个蛋庆祝下)。就这样,很多个小任务完成后最后就组成了现在的 aOS。

做的过程中,他没有使用任何 JavaScript 库,连 jQuery 都不用,全部裸写原生 JavaScript 代码,代码超过 12000 行代码(划重点啦:学习阶段小编非常不鼓励大家直接拿个框架或者库就上手,这样你错过了很多内部的实现,因为它们帮你封装掉了很多底层原理,而这些恰恰是初学者打基础的东西),后端是 PHP。而且他现在已经把 aOS 当成自己的孩子,每天没事儿的时候就是写 aOS 系统(再次划重点:只有做自己感兴趣的事情,才能长时间坚持做,才能做出成绩)。而且他也从来没有想过 aOS 能给他带来什么,反正就是自己喜欢就做,心无旁骛。他说除非自己没钱了,饭都吃不饱了否则不会停止做的,而且他表示已经把编程作为自己要做一辈子的事情了。

故事讲到这里就差不多了,怎么样,是不是很值得借鉴和学习?其实,小编觉得从技术上讲这个不能算是真正的「操作系统」,顶多是个桌面环境,因为其实他访问不了底层资源,毕竟在浏览器沙箱里面。但是,哪怕只是个桌面环境,裸写 JavaScript 实现那么多的应用和功能本身就是一件非常了不起的事情。希望 Aaron 可以继续加油!也希望正在阅读本文的你也能加油!

最后感谢 Peter Gleeson 对 Aaron 的采访,小编我才能了解到作者背后的很多故事!如果你想要阅读 Peter 的英文采访稿,可以点击这里进行了解(记得自备梯子)。

关注微信公众号「jscourse」获取更多 JavaScript 学习资料和课程!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,789评论 25 707
  • 今天就结合深度桌面操作系统给大家讲讲桌面操作系统的架构设计和原理细节,一来向外界讲讲深度这么多年都做了哪些工作,二...
    ManateeLazyCat阅读 70,849评论 208 617
  • 教育应该不是死抓形式,形式是死的,不能变化的,形式也是人创造出来的。 教育应该注重的是精神的传承,如果说中国的文化...
    羽翼成阅读 473评论 0 50
  • 目录君 第九章 割麦 麦子终于成熟了。 金黄色的麦田卷着火辣辣的太阳光一浪接一浪地汹涌翻滚。洪水村迎来了一年之中...
    曹静郑州阅读 1,395评论 1 2
  • 2/100 周卫 河南 【每日一结构】 序言:晚上和朋友一起吃过晚饭后回家的路上,朋友在拐弯进小区时被一辆从后面疾...
    心理实践者周周阅读 209评论 0 0