Welcome to
Big thanks to..
for hosting us
This is a place for us to learn together.
Build a Microapp w/ EmberJS and Apitools
Why talking about microapps
- A microapp is small, self-contained, focused on doing one thing and doing it well.
- Microapps use language agnostic APIs to communicate.
- Microapps speed up adoption of new technologies.
Our microgit app
- Retrieves public Github events
- Uses Apitools as middleware to talk to ext APIs
- Uses EmberJS as frontend framework
Let's get started
npm install -g ember-cli
npm install -g bower
brew install watchman
npm install -g phantomjs
ember new my-new-app
Prepare your env
Integrate an external service
Setup the backend or better a middleman
Touching routes
- Routes represent application URLs
- Routes represent RESTful resources
- Routes represent app states
# app/routes/index.js
import Ember from "ember";
var IndexRoute = Ember.Route.extend({
model: function(params) {
return Ember.$.getJSON(
"https://github7ad43e39-bd5086abac4b.my.apitools.com/events?per_page="
+ params.per_page);
}
});
export default IndexRoute;
Adding templates
Ember.js uses the Handlebars templating library to power your app's user interface. Handlebars templates are just like regular HTML, but also give you the ability to embed expressions that change what is displayed
# app/templates/index.hbs
{{#each event in model}}
<li>
<div>
<strong>Github Event:</strong>
<p>id: {{event.id}}</p>
<p>type: {{event.type}}</p>
<p>github user: </p>
<p>
<a {{bindAttr href=event.actor.url}}>
<img style="width: 40px" {{bindAttr src=event.actor.avatar_url}}>
{{event.actor.login}}
</a>
</p>
<p>github repo: </p>
<p>
<a {{bindAttr href=event.repo.url}}>
{{event.repo.name}}
</a>
</p>
</div>
</li>
{{/each}}
Welcome to EmberJS BCN
By hiropaw
Welcome to EmberJS BCN
- 963