Continue Learning
I hope that you had a pleasant and enriching experience reading this book and watching the videos. It sure was for me!
I think I've covered close to 80 percent of the language. In this chapter, I'm going to point out a few additional resources that will bridge that 20 percent gap (at least partially). In addition, as I wrote way back in the intro, I think that it's important to differentiate instruction. Some of the links I reference here (and did in the various "Further Reading" sections) duplicate some of this book's content, albeit in a different voice. That's a good thing :). Here they are:
General Topics
- I frequently referred to the SOLID acronym. Here's a good article to get you started on these concepts: SOLID: https://dev.to/samueleresca/solid-principles-using-typescript?utm_content=buffer2e11d&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer
- A useful twitter search to keep you up to date with the latest developments: https://twitter.com/search?q=%23typescript&src=typd&lang=en
- A collection of good overall links to TypeScript goodness: https://www.bennadel.com/blog/recent-blog-entries.htm
- Free online class from edx: https://www.edx.org/course/introduction-typescript-2-microsoft-dev273x?wt.mc_id=DX_883248&utm_source=t.co&utm_medium=referral
Testing TypeScript
- Use the Intern framework: https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/?utm_content=55755016&utm_medium=social&utm_source=twitter
TypeScript in the Wild
There are many open source projects written in TypeScript. Here's a small selection. Take some time to read through their code, get a sense for their project structure and how they use TypeScript features:
- Multi-player game: https://github.com/code0wl/Multiplayer-Phaser-game/tree/develop/src/client
- Typescript cookbook: https://schneids.net/introducing-the-typescript-cookbook/
- Inversify, a framework for addressing the I in SOLID: https://github.com/inversify/InversifyJS
- TypeORM, a TypeScript object relational mapper: https://github.com/typeorm/typeorm
- The EVE programming language: https://github.com/witheve
- Widgets and gadgets: https://github.com/phosphorjs/
- Navalia, an end to end testing framework: https://github.com/joelgriffith/navalia
TypeScript and Node
- Writing a module in node using TypeScript: https://www.twilio.com/blog/2017/06/writing-a-node-module-in-typescript.html
Converting Plain JS to TypeScript
- Convert a React component to typescript: https://devsandbox.io/articles/converting-react-to-typescript/
Advanced Topics
- Mixins: https://blog.mariusschulz.com/2017/05/26/typescript-2-2-mixin-classes. Decorators: https://cabbageapps.com/fell-love-js-decorators/
The Grand Summary
This concludes Yet Another TypeScript Book! Thank you for reading!. If you found it helpful (or not!) I hope you'll send me some feedback or even contribute some new content. I already wrote about that in the introduction, but here it is again while I have your attention :)
I think that most authors, and I count myself among them, derive immeasurable satisfaction from reader feedback. If you'd like to contribute to the book in a non-material, spiritual way (like "attaboy!" or "Dear Lord, what fresh hell have you visited upon the world with this book!"), the easiest thing is to simply send me a note to [email protected]. It would be helpful if you put the words "TypeScript Book" in the subject, but certainly isn't required. I always get a little extra pep in my step when someone leaves a comment on one of my blog posts or reaches out by email. It's better than being paid7.
I have long been impressed, interested and even a bit envious of the You Don't Know JavaScript series. Kyle Simpson obviously hit a nerve and he has a really thriving Github project going. I have, in fact, tried to follow his model. If you'd like to participate in a more material way, hit up this book's github site, https://github.com/pagalvin/tsbook:
- Star the project
- Log some issues
- Correct problems you find and issue a pull request
- Suggest and even write entire new areas of content and issue a pull request
I will make every effort possible to respond to your emails, review and manage github issues and honor high quality pull requests.
Thank you and best of luck.