AngularDart is going all Dart
news.dartlang.org
news.dartlang.org
The combined development (TS+Dart) was slowing Angular development down and contribution was painful because one needed knowledge of both languages. There are notable downsides for the split development but I fully understand the decision. Implementing everything in a way that it can be translated into the other language was a real pain and limited both versions to a common denominator which prevented both versions to benefit from the advantages of their respective language.
But I doubt that you are really interested in any of these. I've got the impression that you only try to find a justification of not using Dart, which is fine, but looks a bit weird when you are masking political decisions as technical ones.
http://i.imgur.com/ZS0bxpi.png http://i.imgur.com/uKmnAU2.png
tldr; JavaScript has "baggage" and can't be made any faster than it currently is, need a different VM + language with types.
Btw, the Dart creators are compiler engineers, not language designers. It explains a bit about why it has failed to catch on.
[0] `The emergence of compelling alternative platforms like iOS has meant that the web platform must compete on its merits, not just its reach. Javascript as it exists today will likely not be a viable solution long-term. `
They designed a language. Is there some other qualification for being a language designer?
It will probably not happen quickly - but in the meantime, dart2js does an admirable job.
Well, it does mean something. Go is evidence that languages can gain momentum very fast so the fact that Dart still hasn't should be a bit of a concern (and probably partially caused by Typescript's popularity).
- https://blog.golang.org/go-version-1-is-released - http://news.dartlang.org/2013/11/dart-10-stable-sdk-for-stru...
* wait, is dart still a thing?
* this can't be good for angulardart.
Basically they're splitting the project into two projects, claiming that both sides will benefit from lots of support. I suppose if the typescript half of angular was held back by any needs to cross-compile into dart, then the typescript half will be losing shackles.I honestly don't see how a low-penetration language is going to benefit much here - are we going to see a resurgence of interest in dartlang just because now there's a more native-feeling angular library for it? I've been wrong in the past, I guess.
It is hard to predict the future, but I do think this is a very positive move for Dart that will drive adoption.
Dart frameworks were always playing second fiddle to the needs of Javascript developers - resulting in compromises.
A Dart first framework (with some awesome Material widgets thrown in) will offer a compelling developer experience.
Combine that with Dart on Mobile (flutter.io), Dart on IoT (dartino.io) and Dart on the server, and you have a very nice story.
Why should I learn one or the other?
If the ideas and concepts behind dart are so good why isn't golang taking input from it?
If golang is so good why does dart even exist?
Of course that means you can't share code between client and server, but not everyone needs that.
I agree that having a robust dart-first framework (and widget library) is a necessary condition for making dart popular. Here's hoping it is also sufficient. I feel like Dart lost its biggest edge when google moved away from the dart runtime. If everything is just compiled down to js anyway, dart can't do much more than put syntactic sugar over what's already there, instead of providing a real new language experience.
Then again, clojure, scala, and java are really different experiences. Maybe google's backing keeps the language running long enough to gain real traction.
"If you're a TypeScript or JavaScript developer, you'll also benefit from cleaner JavaScript APIs and performance gains as we simplify the TypeScript codebase to remove the need for compilation to Dart."
Maybe this split was prompted by the imminent release of Typescript 2.0?
And this is coming from someone who was really excited for 2.x (and TS for that matter) but has resigned to probably staying with 1.x and es5/6 for the foreseeable future.
I think this architecture is an awful way to go, and I have no idea how it has become popular.
> I find flux to be a really bad way to organize an application.
2. If you do have a tabs reducer, it should be considered part of your tabs component. Use a good boilerplate that sets it up that way, like https://github.com/mxstbr/react-boilerplate
Angular-Meteor supports both 1.x and 2.x, and Meteor's build pipeline has us writing angular code in ES6 that is on the cutting edge of 1.x and looks very similar to 2.x without actually being typescript.
The Meteor and Angular-Meteor teams are both really great, really quick response times to issues and combined have a really great ecosystem that helps bridge the gap between traditional angular libraries and the Angular-Meteor stack.
However 2.x support in Angular Meteor is slightly different then the bleeding edge of 2.x from the Angular teams. Last I checked their are a few shims and it is also incompatible with a lot of third party meteor and angular-meteor libraries. Furthermore switching to 2.x would require a decent amount of refactoring, not necessarily because we'd HAVE to refactor it but because if we did refactor we'd want to take advantage of as much of 2.x as possible which would require rewrites.
Finally I don't really like Typescript. I think its advantages over ES6 are marginal for most small or medium apps. Having to refactor Es6 -> Typescript and 1.x -> 2.x seems like a lot of work to me, especially because 2.x will have the growing pains of being bleeding edge, meaning fewer stack overflow answers and a much smaller ecosystem.
For a new side SPA project where I could write a custom build system via Gulp I would probably write it in 2.x, or maybe try out React. But I still wouldn't use it for a new production app because I see too much added complexity that would diminish the productivity I've already built up in 1.x.
Oh and then the only effect it has on end-users is slightly faster performance. You can argue for weeks over the value of this, but for us it's fairly marginal. Our app doesn't render tons of rows or anything that is slow to begin with, so it would almost have no affect on them whatsoever.
But there's no denying that if you go to a web/js meetup in just about any city in the US 8/10 talks will have something to do with React, and that's the position Angular was in 3 years ago. Doing silly things like maintain 2 frameworks with the same name isn't going to help.
AngularDart's play is not to be the next React (the same way Go is not trying to be the next PHP). AngularDart users at Google are, to my knowledge, extremely happy with the framework, but their enthusiasm won't necessarily (or even probably) translate to large portions of JS crowd. AngularDart works for a specific set of problems (very large web apps that need to be performant and work well on mobile, built mostly by developers with classic CS background).
I personally think insisting on the one framework (Dart+JS+TS) was the silly thing to do, and I'm glad that's over.
I really want to use it and wish the community/IRC was slightly more active.
Spend some time reading their docs. Dart has language, Web and Server tutorials specifically for beginners. The style of writing in which they build up to explain simple concepts to things like method chaining just click. Its very natural.
Go is minimal and great for people already experienced.
I felt Dart docs were centered around human problems and Go around CS problems.
Frankly, all these arguments are by people who never tried Dart in the first place. Dart is perfect for large scale applications - especially enterprise ones.
- Carl Sagan
I only have experience with Typescript, almost none with Dart, and I would love to see a comparison of the two in practical use, especially with Intellij.
Dart analyzer is usually able to show more common mistakes even if you are not heavy type user. Shorter time to find simple typo.
It's easier to start debugging and it's more reliable. This could be IntelliJ itself.
code in Dart is shorter for small apps since it has build in SDK - no need to external libs. It's easier to back to this code after few weeks - easier to mantain. Also time to start from scratch is shorter
Pub (external libs) is way superior to what we have in TS world
One library importing mechanism which doesn't confuse me
I'm not afraid if lib x confilts with lib y
await async works on non ES6 browsers - no wired settings in main config file!
There is one thing better in TS which I like very much - how interfaces can be aplied to decoded Map
But I'm not sure how that's different than .d.ts files for DOM that TypeScript has in its core. After all DOM code is translated to JS code 1:1. Maybe Dart does more magic?
The main reason TypeScript got more adoption was the fact that it was built on top of JavaScript, and people could easily start mix-and-match with their JS code. While that is great for easier adoption, it may not protect your engineers on the same level as Dart does.
In addition, it has complicated a lot of stuff for a long time due to build setups, bugs related to toolchains around Dart and Angular 2's repository, lengthier CI runtimes, and more. It was a huge net negative for those looking to contribute, even for simple changes.
It sucks in both directions. If you're trying to fix things for Dart users, it's also a real hassle to have to figure out how to back-translate that into some kind of TypeScript that will then be compiled back into the Dart code you have in mind.
Having a single source of truth that you translate to JS/TS and Dart makes a lot of sense when the value you get from sharing outweighs the cost of dealing with the pipeline. My impression is that that cost/benefit hasn't worked out well for Angular. I think being split will enable both sides to move faster, even if it means manually migrating some fixes between the two languages.
> having to write code a certain way because of dart sucks
> having to write code a certain way (because of dart) > sucks
I can still see the appeal of Angular2 to non-JS developers (e.g. C# or Java developers switching to JS) but it's a very different framework. It's certainly no longer living up to its original claim "designers can write code without being programmers" (though that was only ever really advisable for prototypes to begin with).
One of the most frequent criticisms I have heard from JS developers about Angular is that being a good JS developer and being a good Angular developer are separate pairs of shoes (compared to e.g. React+Redux where most of the learning curve is JS rather than React or Redux). I don't see Angular 2 having done anything to change that.
Angular 2 no longer has its own module system, so that's one less Angular-specific thing you have to learn about.
Clicked on solid tools link. Got 404: Page not found.
Not a solid start.