
Angular 5.1 and More Now Available - mikeryan52
https://blog.angular.io/angular-5-1-more-now-available-27d372f5eb4e
======
adpirz
Can anyone speak to their successes with Angular post 2.0? I feel like any
time it comes up, it's mostly horror stories about the transition or how shops
have just moved on to Vue, etc. Is it worth still considering / where does
Angular shine where React and Vue come up short?

~~~
ChristianBundy
Angular is _fine_, but it's largely a "me too" framework that brings nothing
new to the table. On the other hand, it insists on using a non-standard
language, which breaks all of the tooling used in the rest of the JS
ecosystem.

React and Vue are reasonable options, but as someone using Angular in
production I'd urge you to stay far away from Angular and TypeScript.

~~~
veidr
You're entitled to your opinion, but for many people (me being one) first-
class TypeScript support is absolutely a compelling feature.

I may not choose Angular for every project, but I would certainly never again
use untyped JavaScript over TypeScript, for an app of any size, unless there
was some unusual and very compelling reason.

(And it would have to be a _really_ unusual reason; I can't even think of a
hypothetical one.)

In my own experience, TypeScript is a huge advance over JavaScript without
types, in both productivity (how quickly functionality gets implemented) and
reliability (how many bugs ever make it all the way to a customer).

I will spice up that factual statement with a bit of speculation that will
perhaps be more controversial: in my experience watching _other_ developers
move to TypeScript, I think the productivity and reliability gains generally
apply to their work too, whether or not they personally like TypeScript.

------
tprince
Even if you never use Angular you can thank them for finding and fixing a huge
Webpack memory leak:

[https://github.com/webpack/webpack/issues/5992#issuecomment-...](https://github.com/webpack/webpack/issues/5992#issuecomment-346384896)

~~~
vesrah
Which version of webpack is this fix included in?

~~~
tprince
3.10 I think.

------
veidr
The notable part of the “and more” is the first stable release of the Material
theme/UI library.

------
mythz
I created a new project using @angular/cli 1.6 which the release says is tied
to Angular 5.1: [https://github.com/angular/angular-
cli/releases/tag/v1.6.0](https://github.com/angular/angular-
cli/releases/tag/v1.6.0)

But all npm package.json dependencies are still anchored on the same ^5.0.0
dependencies that ng v1.5.0 had and still depends on typescript "~2.4.2",
basically ignoring the 5.1 announcement.

How can we create a new Angular 5.1 App using ng? Are we meant to manually
change all dependencies to ^5.1.0

~~~
shusson
See [https://github.com/angular/angular-
cli/pull/8766](https://github.com/angular/angular-cli/pull/8766)

~~~
mythz
I manually updated the typescript dependency which breaks the build, even when
manually upgrading the compiler-cli to ^5.1.0, so basically 5.1 doesn't work
with typescript 2.5.3 as indicated in the announcement.

I also don't get the point of upgrading to the latest angular-cli v1.6 and
using it to create the same 5.0.0 app that v1.5 did.

Is the way to create a v5.1 ng app is for everyone to manually update all
dependencies to ^5.1.0?

~~~
shusson
the caret ('^') will update a minor version[1]. So ^5.0.0 will install 5.1.0.

[1] [https://bytearcher.com/articles/semver-explained-why-
theres-...](https://bytearcher.com/articles/semver-explained-why-theres-a-
caret-in-my-package-json/)

~~~
mythz
The question is what's the best way to create an ng 5.1 app? i.e. what was
just announced. I've just manually updated all deps to ^5.1.0.

~~~
shusson
If you grab the latest angular-cli and do `ng new foo`, you will get the
latest 5.1.0 update. Or if you have an existing app, run `npm install` but
make sure you update your package-lock.json file.

------
davidjnelson
It’s pretty good but react is better. There is still no documentation on the
details of projection which is super frustrating.

~~~
sidcool
As I see it and know about it, React is a library which does a small set of
things very very well. Angular on the other hand is a behemoth framework that
does a lot of things, all reasonably well. I am sure there would be use cases
where Angular is a better choice than React. Not having used React, I am not
sure of such cases.

------
candiodari
I'm still on 1.0.

Not changing either.

~~~
zitterbewegung
Which 1.0 are you using? I'm on 1.6

~~~
pluma
Not OP but I'm still on 1.2 because I still had to support IE8 when 1.3
dropped it out of the blue (I wouldn't have used 1.2 if I had known the
Angular team planned to drop IE8 support). Shortly after, Angular 2.0 was
announced and at the point where IE8 was no longer a requirement Angular 2.0
was still not stable but not far away enough to justify spending energy
upgrading the codebase to another 1.x release in the meantime (especially as
AtScript was still a thing and there was no clear upgrade path yet).

The app is still in production but parts of it have been rewritten in React
since. Despite the added weight of another library, introducing React
ironically helped reduce the file size (mostly because it allowed us to remove
dependencies that were no longer necessary and the build process changed with
bower being replaced by yarn).

EDIT: Another factor in the decision not to upgrade to 1.x when we were able
to drop IE8 support as a requirement was that the removal of IE8 support came
so abruptly that we decided not to trust Angular to support _any_ browsers
that aren't on the latest version (i.e. we expected them to drop IE9 support
equally sudden and it seemed clear that Angular 2.0 wasn't going to be built
with compatibility in mind).

For comparison, when we added React to the project two years later (when IE8
was no longer a requirement), React _still_ supported IE8 and only several
months later announced that they would drop support with the next release. But
even then "dropping support" meant that bugs were deprioritised whereas the
AngularJS announcement heavily suggested that existing code for IE8 would be
intentionally removed or rewritten in a way that breaks compatibility outright
and the code should be expected not to work in IE8 at all.

So based on how the announcements were made and what "dropping support"
entailed in each library, React seemed the safer bet.

------
pcurve
I thought this was some kind of joke... until I realized they skipped v3. But
still, v5 already? Or did I just get used to Bootstrap 4 being in Alpha for
years?

~~~
ProblemFactory
4 -> 5 included some new cool features but was a smooth upgrade. 6 is coming
out in March and then a new "major version" is scheduled every 6 months.

This is common for end-user apps but feels very weird for developer libraries
and frameworks.

We are used to X.Y.Z releases where X are "major rewrite", Y are significant
updates, and Z are bugfixes.

That said, Angular's new scheme could be technically correct strict "semantic
versioning". In semver X.Y.Z, Z releases are supposed to be bugfixes with no
feature additions, Y releases add features but with perfect backwards
compatibility, and X releases introduce breaking changes. A backwards
incompatible change, _no matter how small and easy to adjust for_ , should be
a major version bump according to semver.

~~~
at-fates-hands
> 6 is coming out in March and then a new "major version" is scheduled every 6
> months.

I work in a large corporation and they're still planning their transition to
1.5 and then to 2. I'm keeping up by building stuff in my off time, but trying
to keep a fortune 200 corporation on a six month upgrade track? Not happening.

I've already heard rumblings from upper management of going back to some open
source Java frameworks like Spring MVC, Vaadin or __gulp __Struts because of
how fast they are releasing major versions and the time and cost of keeping
up.

My fear is Angular will be regulated to startups, medium sized businesses or
small autonomous business units within larger companies. When faced with a six
month upgrade schedule, many larger organizations I fear are going to balk and
just drop it in favor of something they are already comfortable with. . ergo
my company wanting to go back to Java since 95% of everything built here is
done with Java.

~~~
ProblemFactory
> I work in a large corporation and they're still planning their transition to
> 1.5 and then to 2.

Angular 1 -> 2 is an actual "major release". "Rewrite all your apps from
scratch" major.

But starting from Angular 4, the "major version number changes" doesn't mean a
major effort to update. There's a decent chance that 4 -> 5 -> 6 -> 7 etc will
work without any code changes. But as long as there is a backwards-
incompatible change, no matter how small and in how obscure submodule, it
requires bumping the version number according to semver.

Most enterprise users will probably skip multiple versions between upgrades,
just as they skip Ubuntu releases and Django releases and Rails releases and
so on.

