Table of Contents
Topic:
One sentence to describe this new skill.
Ember.js, an open-source JavaScript web framework, for creating ambitious web applications.
Learning Objectives:
List the core concepts or foundational skills needed to master this skill.
- Architectural Understanding
- Model
- View
- Controller
- Routing
- The object model
- Services
- Components
- Templating
- Controllers
- Ember Data
- Addons and Dependencies
- Testing
- Configuration
- Binding
- Handlebars
- Functional Helpers
- Block helpers
- Nesting
Proficiency Metrics:
List task you'll be able to achieve after completed this 30 day learning journey.
- Reviewing routes with Ember Inspector
- Loading templates with routes
- Creating links with the link-to helper
- Adding component templates
- Loading model data
- Customizing components
- Building nested routes and route objects
- Loading data with object and array controllers
- Creating interfaces with CSS. Where to put my stylesheets?
- How to create conditionals?
- How to loop?
- What is the Convention-over-Configuration Approach?
- What are glimmer components?
- What is Ember Observer?
- What is the Ember CLI? Why do I need it?
- How to test?
Categorizing my learning resources based on my learning style usually helps me a ton.
👀 Visual Resources:
- https://embermap.com
- https://www.emberscreencasts.com
- https://www.youtube.com/watch?v=zXbqv2PeYCM
- Ember Octane - Great For Beginners by Ilya Radchenko
- Reactivity Basics (Tracked Decorator) - EmberJS Octane by Ilya Radchenko
- Ember Octane - Attributes aka "Splattributes" by Ilya Radchenko
- EmberJS Octane - Handling Actions by Ilya Radchenko
- EmberConf 2020 - Tuesday March 17th - Part 1
- A preview of Ember.js Octane by Gavin Joyce
💻 15 Short Projects (Hands-on learner):
- https://guides.emberjs.com/release/tutorial/
- https://github.com/ember-learn/super-rentals
- https://github.com/ember-learn/cli-guides
- Ember Octane Fundamentals by Mike North
- Ember.js tutorial for beginners by Shawn Chen
- Ember.js Tutorial: Build a painting game in 20 mins by Gavin Joyce
- Ember Octane Livestream: Build a drum machine by Gavin Joyce
- Build An Ember.js App In 2019 For Beginners by Program with Erik
- Building a complex web application with Ember.js Octane by Zoltan
- Build a chat app using Ember JS by Christian Nwamba
- Build and Authenticate an EmberJS 3 Application by Kapehe Jorgenson
- Getting Started With Component Testing - EmberJS Octane by Ilya Radchenko
- (1/2) Building a menu component with Tailwind CSS and Ember.js by Gavin Joyce
- EmberConf 2019 - Building a UI Styleguide in Ember by Frédéric Soumaré
🗣 Auditory Resources:
- https://embermap.com/podcast
- https://changelog.com/jsparty
- https://audio.ember.report/
- https://podcasts.apple.com/us/podcast/javascript-jabber/id1237401284
📖 Reading Resources:
- https://emberjs.com/
- http://www.balinterdi.com/rock-and-roll-with-emberjs
- https://www.emberweekly.com/
- https://blog.emberjs.com/tag/newsletter/
- https://www.apress.com/gp/book/9781484265604
📝 Teaching Opportunities (Verbal and Social Learner):
- Writing blog post
- Creating a TikTok or IG Reel series about Ember JS
- YouTube or Twitch Content
- Speaking at Ember Conference
- At-work opportunities running Ember workshops
👋🏾 Open Source Projects to Contribute To (Hands-on learner):
- https://github.com/ember-learn/ember-api-docs
- https://github.com/emberjs/data
- https://github.com/ember-learn/guides-source
- https://github.com/ember-a11y/ember-a11y-testing
- https://github.com/ember-weekend/ember-weekend
- https://github.com/ember-template-lint/ember-template-lint
- https://github.com/discourse/discourse
- https://github.com/TryGhost/Ghost-Admin
- https://github.com/TryGhost/Ghost
- https://github.com/rust-lang/crates.io
- https://github.com/storybookjs/storybook
- https://github.com/cowbell/sharedrop
#️⃣ Hashtags to follow:
Example: #javascript, #womenintech, #peopleintech, #blacksintech, #blackwomenintech, #codinglife, #frontend, #emberjs etc.
- #emberJS
- #100daysofcode
- #womenintech
- #peopleintech
- #blacksintech
- #blackwomenintech
- #codinglife
- #frontend
- #BlackTechTwitter
- #LatinXTechTwitter
- #POCinTech
- #NonBinaryInTech
- #LGBTQinTech
- #IndigenousTechnologists
- #NativeTechTwitter
- #NativesinTech
- #javascript
- #html
- #programming
- #coding
- #css
- #developer
- #programmer
- #webdeveloper
- #code
- #webdevelopment
- #coder
- #webdesign
- #software
- #softwaredeveloper
- #codinglife
- #computerscience
- #technology
- #js
- #javascriptdeveloper
- #softwareengineer
- #programmers
👤 Social Media Accounts to follow:
Personally, I love following the creators of the coding language, folks who identify as core contributors and folks who talk about what I want to learn.
- https://twitter.com/i/lists/199135857
- Melanie Sumner
- Leah Silber
- Ava Wroten
- Mike North
- David Tang
- Balint Erdi
- Scott Newcomer
- Jessica Jordan
- NullVoxPopuli
- Jen Weber
- Dianne Eramo
- Ryan LaBouve
- Katie Gengler
- Godfrey Chan
- Dave Laird
- Chris Manson
- Kenneth Larsen
- Ilya Radchenko
- Chris Thoburn
- Tom Dale
- Yehuda Katz
👥 Indirect Mentors, Direct Mentors, Friends, and Communities:
Indirect Mentors are those informal mentors who may or may not know you; however, they provide encouragment or aide in some way. Direct mentors are those folks who you have a recurring meeting cadence, those who you have direct access to, and folks who you may spend time pairing programming with.
📋 What’s the plan?
Pick one learning resources that'll cover a span of 30 days:
Balint Erdi's Rock and Roll with Ember Octane
🎯 Goal:
Code for a *minimum* of an hour a day
Mon - Fri: Tutorials & Learning
Time:
Pick a time where you learn best.
I learn best in the morning so 6am works for me!
Chapters or Video | Pages or Time |
---|---|
1. Introduction to Ember.js | Page 1-15 |
2. Ember CLI | Page 16-24 |
3. Templates and Data Bindings | Page 25-33 |
4. Routing | Page 34-45 |
5. Nested Routes | Page 46-66 |
6. Components | Page 67-83 |
Chapters or Video | Pages or Time |
---|---|
7. Controllers | Page 83-113 |
8. Building a catalog | Page 114-140 |
9. Talking to a back-end | Page 141-199 |
Chapters or Video | Pages or Time |
---|---|
10. Advanced routing | Page 200-235 |
11. Testing | Page 236-284 |
12. Query Params | Page 285-334 |
Chapters or Video | Pages or Time |
---|---|
13. Loading and Error Substates | Page 335-348 |
14. Helpers | Page 349-371 |
15. Deployment | Page 372-392 |