持续了大半年的学习和写作,在今天终于告一段落了。
写书之旅
最初有写书的想法,是刚加入微软的时候。
由于工作中需要重度使用 TypeScript,所以我花了几天的时间研读了好几遍官方手册和中文翻译版。
对于一个把 OOP 早就还给老师的人,有些概念并不是很好理解,再加上官方手册跳跃般的学习曲线,我觉得我可以抓住这次学习的机会,把整个学习的过程总结下来。
一开始,取名为《From JavaScript to TypeScript》,寓意此书的作者并不是 TypeScript 的专家,而是一个新手。
其实这不一定是个劣势,因为有些坑,只有新手才能理解。我希望尽可能的还原第一次学习的场景,帮助大家更容易的理解 TypeScript。
于是,我开始了我的写书之旅。
写书不易
要说写书的感受,那真是太不容易了。
理解一个知识,和能够讲出来让别人理解完全是两码事。
而我又是一个强迫症患者。
- 为了方便查阅,添加了非常多引用
- 为了一个措辞,会修订很多次
- 为了能循序渐进的理解,调整了多次顺序
最难的还是在于坚持,一开始还会觉得挺有意思挺新鲜,慢慢的就会很枯燥乏味,无数次的回头重读之前写的,无数次的修改。
我收获的不只是对 TypeScript 理解的加深,而更是一份坚持的毅力和勇气吧。
再之后捧起别人写的书,都会油然而生一股敬意。
想必那一定也是比我付出更多百倍的精力才能写出来的了。
《TypeScript 入门教程》介绍
从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript。
原名《From JavaScript to TypeScript》
- 在线阅读(部署在 GitBook 上,可能需要翻墙)
- 在线阅读(GitHub 版)
- GitHub 地址
- 作者:xcatliu
- 字数统计:约 6 万字(直接统计的字符数)
更多介绍请进入 GitHub 查看。
手动点赞
赞一个
强,无敌
赞一个!
赞一个
赞一个
碉堡的90后
mark支持
赞一个~
赞!
跪谢…… 过年好好学习下 ^_^
不错,强无敌!
up!
楼主厉害
赞
。。。。 前几天花了半个月同样写了一个 TS 的。最近又写了一本 ts 创建 H5 小游戏的。
我是从后端的角度来写的。我就纳闷了,上次我发为啥没给我加精。
@zhangtao0x @slclub @hezhongfeng @WindTrace @cnwhy @lumeng689 @rwing @SilenceDN @DavidCai1993 @sumaolin @highsea @wangziling @flamingtop @minishine @44886 感谢大家的支持!
@MiYogurt 你好。 首先,为你坚持免费分享自己的知识点赞。索取很容易,但是花时间和精力去付出却很难。社区需要更多想你这样愿意付出的人。 其次,我认为你在这里吐槽没有给你加精,还有你在这个帖子中为自己的作品申精也是正确的事儿,自己觉得自己的作品优秀,当然可以申精,让更多的人看到。 至于为什么没有被加精,那就是管理员 @alsotang @i5ting 等的判断了。我没有找到社区加精的说明,我建议管理员有空可以在关于里面说明下什么样的文章会加精。可以让大家看到一个公正的态度。
我其实之前在你发的帖子里面也表示了支持。今天也略读了一下你写的书。就是论事,给你写的书一些建议:
1. 建议使用一些更正式的语气
于是微软公司的员工就想,能不能我也搞一个像coffeescript这样的,把自己的语言文件编译成js再运行呢?所以微软为了维护宇宙的正义与和平,创造出了typescript语言。
读作,当我们访问需要传递一个
number
的x
和y
参数的匿名函数时候,会流出一个一个number
的返回值。 哎,我邪恶了,想到了不好的东西。流鼻涕好邪恶。
这样的说明不适合出现在一本书中。通俗易懂的比喻可以有,但是技术书的读者不需要这种幽默的语气缓解阅读的乏味。
这样的例子在你的书中太多了,就不一一举例了。
2. 拆分成小章节
在线阅读和纸质书不同,纸质书每一页的内容都是有限的,读者翻页的时候可以有短暂的休息。而在线阅读只能不停的往下滑,很容易就疲倦了。建议多拆分,让书有更多段落感。
我没有很详细的阅读,如果错误还请指出。 我也是第一次写书,肯定也有很多问题。欢迎互相挑刺儿,共同进步。
另外,看到你在这个贴子提到了 TypeScript中文网 交流 QQ 群:322878640,不知道你是不是管理员,想反馈个问题: 我写书的时候也参考过 TypeScript 中文网,本来在 README.md 中引用了的,后来删除了。因为我发现它的文档里面的内容和 https://github.com/zhongsp/TypeScript 几乎一模一样,但是没有写明出处。不知道是得到原作者的同意还是其他情况?
网络写文章确实要多分页;有利于吸引人的注意力;
@slclub 还可以增加 pv 😁
@xcatliu 哈哈,利益最大化
其实最重要的,是合理的段落,分页。效果确实好。
大概浏览了下,就事论事,我觉得称之为《XX学习笔记》或者《官方教程精简版》更合适。 不可否认其对于未接触过TS的初学者有帮助其较官方教程更快速上手的正面推动作用,但是通篇实际上并没有多少作者本人自身的理解和对TS的解读,而是对官方文档内容的重新整编,行为上与于正一类的影视改编作者无异。 up主对于知识分享的态度是值得肯定的,但是行为上我觉得并不值得推崇。 一家之言,不喜可删……
@AserSayHi 感谢批评建议。
我已按照你的建议,把 README.md 中改成了:
本书是作者在学习 TypeScript 后整理的学习笔记。
你说的大部分我都认同,实际上我在 README.md 中基本上已经说明了:
原名《From JavaScript to TypeScript》,寓意此书的作者并不是 TypeScript 的专家,而是一个新手。希望分享学习的过程,帮助大家更容易的理解 TypeScript。
以及这本书的意义:
TypeScript 虽然有官方手册及其非官方中文版,但是它每一章都希望能详尽的描述一个概念,导致前面的章节就会包含很多后面才会学习到的内容,而有些本该一开始就了解的基础知识却在后面才会涉及。如果是初学者,可能需要阅读多次才能理解。所以它更适合用来查阅,而不是学习。
与官方手册不同,本书着重于从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript,希望能给大家一些帮助和启示。
适合人群里面已经说明了是给初学者看的,避免浪费 TypeScript 专家的时间。
另外,我也说明了与官方手册有很多重复的地方。
有一部分章节确实与官方的差不多,因为我觉得官方的已经写的很好了,也没有必要特地去改一改。本来是想只贴链接的,但是为了方便读者不在不同的书之间跳来跳去,所以还是有正文了。
我在每一章都链接了官方手册和中文版,方便直接去看。
由于一些知识点与官方手册重合度很高,本书会在相应章节推荐直接阅读中文手册。
有一些我自认为使用场景较少的知识,没有写下来。为了避免阅读完这本书后,还有些知识点没涉及到,最后章节也留了很多扩展阅读
我个人在学习的过程中,确实是来回读了好几遍官方手册才理解了一些知识点。
综上所述,我觉得这本书应该还是有它的价值。
@xcatliu 其一,我看淡了,他加不加精对于我来说,没什么,并不能因为他加精我就多了一分钱,也不会因为他不加精,我就活不下去了。
其二,说我的写的没内涵,我无话可说,官方的文档我阅读了不少次,因为其中有不少陷阱,甚至有的给出的例子是反面教材来警示读者的,但是没有明确的指明。基本上我把官网所给的例子都描述了一次,且所有例子我都自己手打验证,出来的结果我也截图上去,以及思考这样的例子是否对读者有帮助,读者怎样通过自然语言去理解逻辑。以及我还把编译成 JS 后的代码逻辑也叙述了一下。
其三,每个人有每个人的想法与做法,所以造就个人的不同,或许你眼中的技术人不需要这种幽默。在我看来,太需要了,因为有的时候我觉得自己沉默着,走在大街上目光涣散,不知道自己该干些什么,除非朋友来了,招呼一下,笑脸相迎,其他时间基本就是眉头紧锁的对着电脑,不想跟任何人多说一句话。快大学毕业了,4年了,至今我认为我是最独特的艺术家,你们写的是知识,我写的是情感,更是刚满21岁的我对于程序、人生的理解。其实 i5 刚开始对于我的写的深度表示质疑的时候,我是非常气愤的,没人知道我为了学习更多的知识付出了多少。后来自我安慰了一下就释怀了,做为跟随罗大伦博士学习《道德经》的我心性怎能如此低劣,就算我菜,那又怎样,比我菜的多了去了,何况我是一个假程序员,我是一个真艺术家。说我自我陶醉也罢,不可一世也罢,反正我这样,这是我的道。
其四,我写这些并不是为了出版,有人找过我,叫我跟他写一个前端框架什么系列的书,我拒绝了。我只是在做《高效能人生的七个习惯》《你的知识需要管理》里面所叙述的一些事情而已,同时也是我对未来的理解。
其五,章节乱,我认,因为我自己也写的头晕,因为需要思考的太多了,而且有的时候 TS 报个 Bug 去调试,些许也需要调很久。所以我才能明白古诗需要千锤百炼。其实最后也是草草结尾的,当然我也明白这是对于读者的不负责。需要写好一本书需要一定时间的历练,这段旅途才刚开始。
其六,TypeScript 中文网的管理员确实我侃大山换来的,本来进去问一些问题的,结果热心帮其他人解决了一些 Webpack TS 等的问题,恰逢各位大佬谈论语言,恰好我了解的语言也有那么多,只是稍微提了一下 Elm,Dart,结果头顶一闪,变成了管理员。我英语不太好,在 Github 上基本上我从来不提交 PR ,所以并没有参与翻译工作,只是在群里面解决一些问题而已。
其七,首先衷心的谢谢您给的建议,有不足才有进步,但是我只会采纳我认为我不足的地方。不过有一点值得考虑的是,下次写之前,要思考书籍的定位,写给什么样的读者看,说服自己为什么要幽默,读者真的需要幽默吗亦或者自己更倾向于哪个方面。
好吧,我就是个假程序员,以后可能会成为一个产品经理、或者 DevOps 吧,来年再说,哈哈。 新年快到了,我这个假程序员在这里祝大家万事如意。
@slclub 点赞 <br><br>来自<a href=“https://lzxb.github.io/react-cnode/” target="_blank">react-cnode手机版</a>
赞 <br><br>来自<a href=“https://lzxb.github.io/react-cnode/” target="_blank">react-cnode手机版</a>
##赞一个
先不说别的,冲你这种分享精神点个赞👍 自豪地采用 CNodeJS ionic
辛苦了 打赏账号可以贴在github
来自酷炫的 CNodeMD
@MiYogurt 对着这个 <div data-v-195d6675="" class=“hair”></div> 我摸屏幕摸了好久…= =!
@MiYogurt 赞。PS,好像是《高效能人士的七个习惯》
搞得我都想撸ts了,哈哈
source vue-cnode mobile 2.0