ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
The Changing Ember.js
Community
Toronto	Meetup,	Feb	2016
Matthew Beale
201	Created	-	@mixonic	-	madha<ed.com	
Ember.js	Core	Team
Ember Community 2016 - Be the Bark
Ember Community 2016 - Be the Bark
Larry	Wall,	2001
Suppose Iwant to take
over theworld.
Larry	Wall,	1999
Simplicity says I should
just take over theworld
by myself.
Larry	Wall,	1999
But the reality of the
situation is that I needyour
help to take over theworld,
andyou're allvery complex.
Larry	Wall,	1999
I actually consider that
a feature.
Larry	Wall,	1999
I'm still a little bit of the onion. Most of the mass is in
the outer layers. But here I sit in the middle. I get a bit
of honor for my historical signi?cance, but in actual
fact, most people see the outside of the onion, not the
inside. Unless they make onion rings. But even then,
the bigger rings have more to them than the smaller
rings. Let that be a lesson to those of youwhowish to
be "inner ringers." That's notwhere the real power is.
Not in this movement, anyway.
Larry	Wall,	1999
Ember Community 2016 - Be the Bark
Ember Community 2016 - Be the Bark
YOUNGEST
OLDEST
Larry	Wall,	2001
OLDEST
YOUNGEST
Ember Community 2016 - Be the Bark
Ember Community 2016 - Be the Bark
CORE
BARK
2015 2016
Get	started	faster
Developer	experience
1.10	-	2.3
Individuals,	small	biz
2015 2016
Small	biz,	and	enterprise
Performance
Tools	for	teams
2.3	-	2.10
Get	started	faster
Developer	experience
1.10	-	2.3
Individuals,	small	biz
2015 2016
Why the change?
Ember Community 2016 - Be the Bark
Ember Community 2016 - Be the Bark
Ember Community 2016 - Be the Bark
Consultants
2015
Product	dev
Company	>70
Small	business
9
8
1
10
Jobs for Ember Core
Consultants
2015
Product	dev
Company	>70
Small	business
9
8
1
10
2016
6
8
4
6
Jobs for Ember Core
More large companies
are in?uencing Ember
than ever before
Large companies need
di?erent things than
smaller companies
Large companies need
di?erent things than
smaller companies
Bigger	audiences	mean	a	diverse	set?
of	devices,	which	mean	performance	concerns
Large companies need
di?erent things than
smaller companies
Bigger	audiences	mean	a	diverse	set?
of	devices,	which	mean	performance	concerns
Bigger	teams	need	technology	soluWons?
to	organizaWonal	challenges
HTMLBars
AnimaWon,	UI/UX
Ember Features, 2015
Ember-CLI
Glimmer
Engines
Ember Features, 2016
FastBoot
Improved	Processes	(LTS)
<aside/>
Ember Community 2016 - Be the Bark
? We¡¯re	re-implemenWng	Glimmer¡¯s	
algorithm	
? Moves	many	of	Ember¡¯s	template	features	
out	of	Ember	
? Google¡¯s	V8	engine	loathes	
polymorphism.	Get	strict	about	types	
? Smaller	templates	
? Improved	architecture,	abstracWons
github.com/emberjs/ember.js/issues/12907
github.com/Wldeio/glimmer
¡°ember-glimmer¡±	feature	?ag
Ember Community 2016 - Be the Bark
API
Ember
StaWc
API
Ember
StaWc
API
Ember
StaWc
Render (slow)
API
Ember
FastBoot
A universal app
IAM	Roles,	ElasWcBeanstalk	env,	S3	
buckets,	Cloudfront,	Bucket	policies,	
auto-scaling	groups
>
>	ember	eb:provision	
...	
>
>	ember	eb:provision	
...	
>	ember	deploy	
...	
>
Every Ember app, a universal app
? Server-side	rendering	anyone	can	use	
? Provides	provisioning	and	deployment	
tools	(AWS,	Heroku,	Docker,	others?)	
? CompaWble	with	Ember	2.3+	
? Experimental	servers	have	been	stable	
? You	can	use	it.	SWll	nailing	down	details	
(cookies,	content	in	<head>)	
? Glimmer	refactoring	unblocks	rehydraWon
github.com/Wldeio/ember-cli-fastboot/issues/98
github.com/Wldeio/ember-cli-fastboot
Ember Engines
? Routable	engines	
? Template	mountable	engines	
? Totally	isolated.	For	example,	by	default	
services	are	not	shared	between	an	app	
and	engine	instance	
? CompaWble	with	Ember	2.3+
ember	install	some-blog
import	Ember	from	'ember';	
import	config	from	'./config/environment';	
const	Router	=	Ember.Router.extend({	
		location:	config.locationType	
});	
Router.map(function()	{	
		this.route('blogs',	function()	{	
				//	Mount	the	main	blog	at	/blogs/ember-blog	
				this.mount('ember-blog');	
				//	Mount	the	hr	blog	at	/blogs/hr-blog	
				this.mount('ember-blog',	{	as:	'hr-blog'	});	
		});	
});	
export	default	Router;
{{mount	'ember-chat'}}
github.com/dgeb/ember-engines
Ember LTS Releases
? ¡°InWmate¡±	APIs	must	be	deprecated	for	at	
least	one	LTS	
? Increased	stability	for	addon	authors	
? Slower	upgrade	cycle	for	those	who	want	
it	(twice	a	year,	basically)	
? An	LTS	happens	every	4	minor	version	
releases	
? First	LTS	2.4?
Glimmer and FastBoot
largely address performance
Engines and LTS are
technology solutions to
organizational challenges
LESS
CORE
MORE
BARK
MORE
BARK
Ember
MORE
BARK
Ember-Data
Ember-CLI
Ember
MORE
BARK
Ember-Data
Ember-CLI
Ember
FastBoot
Engines
Glimmer
MORE
BARK
Ember-Data
Ember-CLI
Ember
FastBoot
Engines
Glimmer
Liquid-?re
Guides
Ember-Collection
HTMLBars
Ember Sub-teams, 2015
Ember-Data
Ember-CLI
Glimmer(?)
Ember Sub-teams, 2016
Ember-Data
Docs
FastBoot
Ember-CLI	Deploy!
Ember-CLI
? Sub-teams	will	see	increased	ownership	of	
the	RFC	process	
? Sub-teams	will	have	a	representaWve	on	
core	
? Sub-teams	should	have	increased	
autonomy	
? Maturing	this	process	is	on-going
The bigger rings have more to them than the smaller
rings. Let that be a lesson to those of youwhowish to
be "inner ringers." That's notwhere the real power is.
Not in this movement, anyway.
Larry	Wall,	1999
MORE
BARK
BE
THE BARK

More Related Content

Ember Community 2016 - Be the Bark