

The Future of AngularJS - jbdeboer
https://docs.google.com/presentation/d/1Gv-dvU-yy6WY7SiNJ9QRo9XayPS6N2jtgWezdRpoI04/edit#slide=id.p

======
alexandros
What _I_ don't understand is all the whining about posting slides.

This is fresh off the presses, answers hot questions in the angular community,
and obviously people are upvoting it. If you're aware of what's happenning in
Angular, every slide stands on its own and has useful info.

Can we please give all the moaning about format a rest please?

~~~
1qaz2wsx3edc
I wouldn't call this fresh off the presses. The angular team talked about many
of these points back in June.
[http://www.youtube.com/watch?v=W13qDdJDHp8](http://www.youtube.com/watch?v=W13qDdJDHp8)

It's really exciting. This is a good summary of the future though.

~~~
DigitalSea
To be fair, this is the first time I've seen this. Not everyone gets to see
everything as it comes out and I would argue that June (3 months ago) isn't
exactly old news. Having said that I am really excited to see the future of
Javascript isn't as ugly and hacky as it currently is.

------
nailer
Neato. Angular reimplementing it's own module system (when many developers
already have a large body of code in existing module formats, particularly
AMD) was one of the things that turned me off when first looking at it.

Do ES6 modules have all the dependency injection stuff the Angular developers
wanted?

~~~
camus

        Module system =/= Dependency injection.
    
        AngularJS modules =/= CommonJS modules
    

Module system = way to FIND object definitions physically(files) or
logically(name). Python has one, NodeJS has one.

Dependency injection = way to WRITE objects by creating dependencies between
them in order to separate concerns.

    
    
        RequireJS = gives Javascript a module system 
        ( fetching files according to the module name to 
        find module definitions ),which is 
        configurable since JS doesnt have one.
    
       AngularJS = instanciate objects according to their
       defintion and the definition of its dependencies => 
       doesnt look for files in a path to find the definitons.
    

And ES6 definetly DOESNT DO dependency injection, ES6 gives JS a module system
which is configurable.

When ES6 gets it's module system , people wont need require JS anymore, but it
has nothing to do with AngularJS.

~~~
nailer
Please read posts before replying to them.

\- Nowhere in my post did I say a module system was dependency injection

\- Nowhere in my post did I say angular JS modules were CommonJS.

Please don't use uppercase for emphasis, see
[http://ycombinator.com/newsguidelines.html](http://ycombinator.com/newsguidelines.html)

Explaining in further detail: a feature of some module systems is dependency
injection (yes, dependency injection can also be performed outside a module
system, but the slides discusses module systems so we will too).

DI gives module systems the ability to instantiate objects using different
dependencies. This is handy for things like testing, where eg, a name that
would normally resolve to a network API module would instead be resolved to a
stub module with pre-canned responses, so any calls to that network API module
return consistent responses.

Lack of dependency injection in existing JS module systems (you can do it in
AMD, but using file paths so it's kind of hacky) is cited in the angular docs
as the reason Angular includes its own unique module system.

Weather people still use AMD or CommonJS or Angular modules after ES6 modules
really depends on the feature set of ES6 modules. Hence asking about the
feature set of ES6 modules.

~~~
coldtea
> _\- Nowhere in my post did I say a module system was dependency injection_

Let me remind you then:

"Do ES6 modules have all the dependency injection stuff the Angular developers
wanted?"

> _Explaining in further detail: a feature of some module systems is
> dependency injection_

An orthogonal, non relevant feature, that has nothing to do with the core role
of a module system.

That some module systems have this frankensteinian stuff included doesn't mean
much.

~~~
nailer
The statement you are bizarrely quoting quite clearly does not equate
dependency injection with module systems.

Again, read HN guidelines, your account is quite new and it's very obvious you
haven't done so yet.

------
JDDunn9
Unfortunately, I didn't see improved documentation in their future vision...

I'm not sure how a lot of those ideas will work with compatibility with older
versions of IE. You already have issues using the element tags for new
attributes.

~~~
hmottestad
hahaha. Did you ust say "compatibility with older versions of IE".

I'll probably get downvoted for this but.

If you want to maintain "compatibility with older versions of IE" try an older
version of HTML, an older version of CSS, an older version of javascript and
an older x86 processor, and an older version of windows (95 sounds nice).

Sorry.

If future features should try to remain compatible with older versions of IE
we will get very little innovation.

~~~
erwanl
Well, the thing is both Chrome and Firefox get updated automatically but IE
doesn't.

So the problem will not IE versions that are already old (IE6, IE7) but
current versions of IE - even future versions before they implement these new
standards.

As these features roll out to Firefox and Chrome, users of these browsers will
have to them because of the auto-update pretty quickly.

Eventually IE will implement them, maybe in version 12, and you'll have users
still using IE10. Heck, maybe they won't be able to upgrade their IE because
it won't run on their aging Windows 7.

Unless IE switches to the auto-update used by Firefox and Chrome, and stops
dropping Windows versions in their new IE, I don't see the problem going away.

~~~
andyhmltn
IIRC IE10 autoupdates

------
HNJohnC
I don't understand why people link to raw slides. Are we meant to waste our
time trying to read meaning from them like tea leaves?

Surely there is something to go with this slideshow?

~~~
BigChiefSmokem
I'm guessing someone at Google marketing posted this. Slides are useless
without the actual presentation that goes along with it.

~~~
sanderjd
Yeah but I don't like watching actual presentation videos, because then there
is audio and they move at their own pace. I'd love to see more slides +
detailed notes though.

------
emp_
The Shadow DOM seems like beautiful for reading/blocking output but I see most
of my time with the "Expand Shadow DOM" option in the dev tools to see what
the heck is actually going on during development.

------
jeduan
Now whenever I see The Future of <something>, I asume such thing is getting
killed.

~~~
samuelclay
Same with "Security at <something>" meaning something bad happened. There's
another story on the HN homepage right now where I assumed it was a break-in,
when in fact is was a preemptive strike.

------
augustl
You have to sign in with a Google account to access the content. All I get is
a login page, at least.

Anyone got a link that is publicly accessible?

~~~
graue
Worked fine for me too. I think it might do that if you've already been logged
into a Google account and signed out. Try deleting your Google cookie(s)
entirely.

------
gumpieza
I really cannot understand why this whole phase of "posting my slides" is
becoming a big thing. Powerpoint presentations are useful in context. This
link was of no use to me apart from some bullet points

------
adelevie
Being able to avoid $scope.$apply() will certainly be nice.

As it stands now, if you want to leave the Angular reservation and use
something like the Parse JS SDK (which is a customized set of Backbone models)
your code will be littered with $scope.$apply(). Not very DRY, and also adds,
from the dev's point of view, a needless level of nesting functions.

~~~
GeneralMaximus
Parse.com has a perfectly capable REST API[1] that you can use with Angular's
$resource. If you use Restangular, then your life becomes even easier. It
won't be as convenient as using their JS SDK, but your code will end up
looking much cleaner.

\---

[1] [https://www.parse.com/docs/rest](https://www.parse.com/docs/rest)

~~~
adelevie
I've spent my fair share of time pouring over Parse's REST docs[1][2]. It's a
fairly large undertaking to fully support all REST features, so it's still a
decent trade-off to just use the JS SDK. If there are any Parse + Angular REST
client projects, I'd be happy to contribute some code.

[1]
[https://github.com/adelevie/parse_resource](https://github.com/adelevie/parse_resource)

[2] [https://github.com/adelevie/parse-ruby-
client](https://github.com/adelevie/parse-ruby-client)

------
bsaul
Do we have more clues as to what migrating an angularjs directive into a
webcomponent will look like ?

~~~
pspeter3
This is my biggest fear with Angular

------
olegp
What I want to know about the future of AngularJS is: what is the state of
server side rendering? We have some of our own ideas as to how this could work
at [https://starthq.com](https://starthq.com) but I am hesitant to start
implementing anything so as to avoid duplication of effort.

~~~
rcsorensen
You should take a strong look at
[http://github.com/airbnb/rendr](http://github.com/airbnb/rendr) . I'm sure
non-backbone adapters would be appreciated.

~~~
olegp
I couldn't find info on these adapters. From what I can tell this is very
Backbone specific. Can you point me in the right direction?

------
dmak
I was really excited when I saw the multiple responses possible for a given
request

~~~
wmf
This does sound useful, but I'm not sure what it has to do with Angular. Are
they going to create more resources with the assumption that HTTP 2.0 will fix
it?

~~~
atjoslin
They're saying it will help single page apps in general I think

------
Bahamut
Personally, I liked that the slides are up there publicly, even if I don't get
to see the talk to go with them - they function nicely as a brief overview to
the future of Angular, letting good devs fill in the rest. Much of this isn't
new, but I liked seeing some example code snippets comparing current and
future syntax.

------
jemeshsu
Is there a release schedule for ES6?

~~~
camus
I heard end of 2013 a year ago , unlikely , their spec has too many stuff. The
only things devs need urgently is the module system , let , const , proxies
and the new data types ( sets , maps , weakmaps , etc ... ), the rest can wait
IHMO.

------
antihero
When ECMAScript 6 "happens" (any idea when that will be?), will we actually be
able to use it or will we have to stick to old things due to browser
compatibility?

------
ryankshaw
does anyone know if there was a presentation that went along with these
slides. it would be great to be able to see it. @briantford if you see this,
we'd love to see more of the meat behind the bullet points. cool stuff though!

------
na85
Am I the only one who thinks the name "Angular JS" is nonsensical and,
frankly, a little silly?

~~~
hannibalhorn
I would guess it was originally "ng" for next generation, and then they wanted
to come up with some kind of pronounceable name when they made it public. I'm
just glad it's easy to google!

