
Angular 2 Survey Results - bceagle
http://angularjs.blogspot.com/2015/09/angular-2-survey-results.html
======
shadowmint

         There were about a half dozen responses for Dart and 1 for Closure Compiler. 
         In other words, at least 7 Googlers submitted survey responses.
    

ouch.

~~~
fmsf
Just because someone likes dart, doesn't mean they are from google. As an
example I really enjoy dart, and I am not from google

~~~
marknutter
It's a joke

~~~
campuscodi
Dartisans are sensitive. Trust me. I felt their wrath just two months ago.

------
peterjmag
OT: Is this supposed to happen on page load? [1] Not sure if it's intentional,
but if it is, it's probably the most useless animation I've seen. Blogger's
standard templates seem to get worse every month.

[1] [http://i.imgur.com/FifmyCV.gifv](http://i.imgur.com/FifmyCV.gifv)

~~~
ihsw
That would be Blogger -- it's loading the homepage and then loading the
article on top.

I can't imagine why, though. The loading gear on page load is infuriating
enough, and now there is a giant sliding page too.

Frankly I'm leaning towards avoiding all blogspot.com domains from now on,
these silly things are more annoying than anything else.

------
jessedhillon
Who makes color-coded pie charts, but doesn't provide a color legend?

[http://imgur.com/gmDfw0e](http://imgur.com/gmDfw0e)

~~~
bceagle
Do'ah. Valid criticism. We generated the pie charts from Google Forms (where
we had the survey), but we didn't like they way they displayed the results
(they were out of order). We should have added the color legend to our sorted
results. I will add that later tonight after work. Apologies.

~~~
latortuga
Not only that but the pie charts are all inconsistent about where they start
and where the largest portion is shown.

------
nateabele
Hey, UI Router lead dev here. I'm interested in any & all feedback people have
regarding Component Router vs. UI Router, what they like/don't like, and
whether or how much they'd like to see UI Router support for Angular 2.

~~~
bubersson
We started using ui-router recently and from quick profiling of rendering it
looks like a lot of time is spent in ui-router transitions (chained promises)
and in generating/validating ui-sref links. I don't know if this will get
linearly worse with increasing size of application, but anyway this is why I'm
interested in checking out Component Router.

Do you have any pointers to differences between Component Router and ui-
router? I'm especially interested in pitfalls of both.

I haven't debugged ui-router much yet, but maybe I'm doing something wrong
(which sometimes happens in Angular world, e.g. when people use $timeout(fn),
when in given situation they should actually do $timeout(fn,0,false)...).

~~~
nateabele
Great questions, thanks.

> _We started using ui-router recently and from quick profiling of rendering
> it looks like a lot of time is spent in ui-router transitions (chained
> promises)_

I've never profiled transitions specifically, but the number of promises is
generally determined by (a) how many templates you have in a target state, and
(b) how much asynchronous data (resolves) each state loads.

> _and in generating /validating ui-sref links._

State names themselves are validated once on initial template load. If the
target is parameterized, we do set up a $watch() on the parameter values to
update the href, which is a small incremental perf hit per use (and you'll
naturally tend to get more churn the more deeply-nested the scope in which you
use them is).

> _Do you have any pointers to differences between Component Router and ui-
> router? I 'm especially interested in pitfalls of both._

The biggest differences that I'm aware of are:

\- Component Router supports components (naturally), which UI Router does not
(this is on the roadmap)

\- Component Router's transition pipeline appears to be more flexible than UI
Router's (we're refactoring heavily to encapsulate & expose more APIs)

\- As with ngRoute, Component Router's configuration binds view components (or
controllers/templates in ngRoute's case) directly with URLs, whereas UI Router
provides a more sophisticated abstraction in the form of a hierarchical state
machine, which many people find more ideally-suited to large, complex apps
(see other comments)

\- UI Router provides more sophisticated abstractions for encapsulating and
modeling your domain in terms of URLs, for example, Type objects [0]

> _I haven 't debugged ui-router much yet, but maybe I'm doing something
> wrong_

Let me know if you encounter any specific issues, or post to StackOverflow.
One or more of us are usually fielding questions there.

[0] [https://angular-ui.github.io/ui-
router/site/#/api/ui.router....](https://angular-ui.github.io/ui-
router/site/#/api/ui.router.util.$urlMatcherFactory#methods_type)

------
ebbv
I was really hoping this was a survey to Angular 1.x developers asking how
annoyed you are that Angular 2 completely changed everything.

Angular 2 should have been a new framework, IMHO.

~~~
pbreit
Seems like 2.0 is the worst of both worlds: little/no continuity from 1.0 and
little/no benefits of starting from scratch.

~~~
bceagle
Did you see the blog post from last week on Angular's efforts to help
developers transition from 1 to 2?

[http://angularjs.blogspot.com/2015/08/angular-1-and-
angular-...](http://angularjs.blogspot.com/2015/08/angular-1-and-
angular-2-coexistence.html)

As for little/no benefits, that is certainly not true. Angular 2 is going to
be better in almost every way from Angular 1 and there are many great apps
built off Angular 1. If you haven't tried Angular 2, I suggest giving it a go
once the they get to beta.

~~~
leaveyou
At a first glance the link you provided promotes double insanity: angular 1
mixed with angular 2 (because angular 1 was not complex enough when angular 2
decided to simplify it with new syntax and requiring typescript which seems to
require node.js). Is there some documentation for angular 2 with plain
javascript (no typescript) for people who want to keep it simpler ? Can you
provide some links ? Thank you.

~~~
calebegg
Each code sample here has an ES5 ("plain javascript") version that you can get
to with the buttons on the top:

[https://angular.io/docs/js/latest/guide/setup.html](https://angular.io/docs/js/latest/guide/setup.html)

------
martin_
It's a shame that jQuery was included within "What frameworks other than
Angular 1.x do you use regularly today? (choose multiple)". Why not throw
lodash/underscore in too?

~~~
Nemcue
Because they are libraries, not frameworks.

~~~
andrewmcwatters
And jQuery is... surprise! A library.

~~~
toupeira
It does have some framework properties, like the whole plugin mechanism.

~~~
dcherman
That barely qualifies imo. The plugin mechanism is just prototypical
inheritance - you're just adding methods to a prototype, nothing more.

------
lighthawk
Typo: "Meteor 9.7% 1967" has an extra digit, since 1967 would be far above
9.7%. I'd comment on the page, but comments are limited to team members. Also,
why even show the option for comments if I can't make them?

~~~
bceagle
Shoot, yeah, you are right. I am one of the authors. I just updated this, but
it looks like the page is cached so will take a couple minutes for it to
correctly show 196.

------
VeejayRampay
Quite the slap in the face for Dart, damn.

~~~
bceagle
Hopefully we didn't come off as too harsh. We were more poking harmless fun
than trying to criticize. The Googlers I know that use Dart love it and swear
by it.

------
hokkos
So much fragmentation in all those answers.

------
joemaller1
Blogger's mobile template has chopped off the left side of the page so the
first two letters of every line are hidden, making this virtually unreadable
on mobile. Thanks blogger mobile template!

~~~
bceagle
Fixed now. I am not a fan of blogger.

------
msoad
Angular 2 can't come soon enough! The ability to move heavy diffing processes
to web workers is what I need. Change detection for large number of DOM nodes
is slow and inefficient in Angular 1.

------
zkallen2010
Awesome survey! I develop with AngularJS and I thought it was interesting that
TypeScript pulled away, I've been hearing more and more about it. I hope you
guys do a follow up so we can see if anything changes.

------
zyxley
Unrelated to this specific survey, but as somebody unfamiliar with Angular,
having both angular.io and angularjs.org with neither making the version
difference clear at a glance is confusing as heck.

------
durzagott
In the Features analysis section, points 5 and 6 have the same heading,
Dependency Injection. Should point 6 be Server Rendering or something similar?

~~~
bceagle
Yes. Updated now. It should have read "6\. Server Rendering"

------
RamenLover5
Wow, very informative!

~~~
gdi2290
thanks! :)

------
paulhauggis
It's funny how so many development communities feel like they need to start
over and create an entire new framework.

Perl 6, PHP 6 (which was never released), the disaster that is Python 2/3
(many standard libraries were renamed breaking a ton of libraries, and now
Angular.

PHP, which is hated by many here because it isn't hip, at least allows you to
run 4 code on the 5 interpreter with no issues.

When Microsoft did this with VB back in the 90s, which caused DLL hell, the
community raged. Now it's a normal part of development.

I feel like it's only about the money. Many open source communities make money
on support only and can charge companies lots of money to make the shift. It
also means tutorials, books, speaking engagements, etc.

~~~
xorcist
> PHP [...] at least allows you to run 4 code on the 5 interpreter with no
> issues

Speaking as someone who at one time made a living porting PHP4 code to PHP5,
that's not even the same ballpark as reality. No non-trivial code base made
that transition without effort. But it is of course possible to write code
that runs on both versions, which may be the source of the confusion.

Guess why all cheap web hosting companies only offer ancient versions of PHP?
"I downloaded $crap from teh Internet and it doesn't work" is nobody's
favourite idea of customer support.

If I were to think of a scripting language (to exclude C) that has kept
backwards compatibility well, I think Perl 5 has done a decent job. Fifteen
year old code bases is at least within the realm of possibility to get up and
running, and the language has evolved quite a bit in the meantime.

~~~
antod
Yeah I remember occasions when PHP x.y.z patch releases would break existing
code.

Sure it can be possible to run PHP4 code on PHP5, but only AFTER you have
tested and debugged it on the newer PHP version.

