This is my first post in this year.
Recently we have to develop a project about teacher training for a private university in Mexico City.
There are a lot of javascript frameworks and transpilers: Angular JS, Vue JS, Meteor, Aurelia JS, React JS, Ionic JS, Typescript, CoffeeScript, Elm, etc. We decided learn and use Ember JS for develop our frontend, and Spring/Groovy for the backend.
About Ember Js
Ember is a JavaScript front-end framework designed to help you build websites with rich and complex user interactions. It does so by providing developers both with many features that are essential to manage complexity in modern web applications, as well as an integrated development toolkit that enables rapid iteration.
Until now, I had has a little experience using Coffee Script and I could test a little of Angular. But now I’m in love with Ember, because I found more useful and interesting for build frontend apps, and their standards and conventions are so cool. In this post I’going to explore the basics about ember. And then I will release many post about more content.
Philosophy
-
Write less code
-
Use web standards and common idioms
-
Built for productivity and ergonomics
-
Constantly growing and improving
-
Friendly API
Build with Ember is like this…
You have a complete blank canvas for build your frontend app
… add few routes and templates…
Ember Core Libraries
This framework had many libraries for extend his features.
Framework Libraries:
-
Framework Ember JS
-
Data Persistence Ember Data
-
Toolchain Ember Cli
Helper Libraries
-
Batched Queue Backburner.js
-
URL Handling Route-recognizer.js
-
Routing Router.js
-
Promises Rsvp.js
-
Template Engine handlebars
-
Asset Pipeline Broccoli.js
Ember App Toolbox
You can install Ember with npm, and then you can create a simple app with the ember cli:
npm install -g ember-cli
ember new my-first-app
The project structure contains the following directories:
- App: Application main source code
- Config Configuration and enviroments
- Public Assets (omg, fonts)
- Tests
- Vendor Dependencies that aren’t manage by npm.
- ember-cli-build How ember should build your app.
- dist Deployable assets
Anatomy of an Ember App Folder
The app folder contains the main source code for build the app. This folder has the following structure:
- app/templates
- app/routes
- app/components
- app/helpers
- app/models
- app/styles
- app/services
- app/controllers
- app/adapters
- app/serializers
- app/app.js
- app/router.js
- app/index.html
My Recommendations for Learning
I had to search a lot of material for learn Ember Js. Although there are many resources, I recommended the following material for a beginner:
(Book) ROCK AND ROLL WITH EMBER JS
Rock and Roll with Ember.js It’s a great book wrote by Balint Erdi (@baaz) where you can learn how to build an app. I consider this book as the best resource for start learning Ember Js, because It contains more core concepts, and this could help you to understand easy.
(Book) The Pragmatic Programmers DELIVER AUDACIOUS WEB APPS WITH EMBER 2 Matthew White
Deliver Audacious Web Apps with Ember 2 It’s other book for start to understand the framework, although maybe you will need to know some basic concepts for understand more fast the chapters.
(Video and Book) Packt Pub EMBER.JS SOLUTIONS and EMBER.JS COOKBOOK
Ember.js Solutions are videos about Ember.js, where you can watch the main concepts. I think that this is very useful when you already understand the main concepts.
(Course) Frontend Masters EMBER 2.X Mike North
Ember 2.x it’s a complete course about Ember.js, probably is the best material for start to learn ember. I recommended this course for beginners.