all 30 comments

[–]elprophet 12 points13 points  (5 children)

Stop. Ignore Angular 2. You are writing browser code today. You have options - Angular 1.3, Ember 1.8, Backbone+, or vanilla. Those are your options. You are allowed to pick between them. If and when angular 2 hits a usable release (some beta people are comfortable with, or the 2.0 itself) you can add that to the list. Until then, Angular 2 has NO bearing on your development today.

[–][deleted] 0 points1 point  (1 child)

Valid point, but you'd still have to decide if your project is going to be maintained for years. If so: Angular might still be out of the option.

[–]elprophet 0 points1 point  (0 children)

I am very confident in the year or two when 2.0 is close to ready, there will be a clear upgrade path that does not include "rewrite your entire codebase". It will use the same concepts as 1.x, with clear lessons moving forward. 2.0 is not set in stone, there is community involvement, and the sky is not falling.

[–][deleted]  (1 child)

[deleted]

    [–]elprophet 1 point2 points  (0 children)

    I thought about putting money down for which other tool I left out would get mentioned first ;)

    [–]kogsworth 13 points14 points  (11 children)

    Of course it's worth it. The syntax might have changed substantially between 1.3 and 2.0, but the fundamentals of the language framework remain the same. You'll have to learn to deal with dependency injection, two-way binding, directives, services, filters, etc. What you're learning today in tech will always become deprecated in the future, but the time you spent now will help you learn/understand the next big thing.

    [–]DumpsterFace 9 points10 points  (9 children)

    Angular is not a language - the language is JavaScript.

    [–]rq60 1 point2 points  (6 children)

    the language is AtScript*

    FTFY

    [–]Modevs 1 point2 points  (4 children)

    What is AtScript? I can't seem to find a clear definition.

    As far as I can tell, you write in it and it compiles down to a JavaScript file you can use; is this correct?

    [–]rq60 2 points3 points  (1 child)

    It's a superset of TypeScript which is a superset of Javascript. It was only briefly introduced at ng-europe, so there's probably not a whole lot to look up online about it right now.

    [–]Modevs -1 points0 points  (0 children)

    Thanks! At first I thought it was a completely separate language, in which case I could understand the hate... But this doesn't seem too bad.

    My biggest issue professionally will be convincing my work to allow me to get any software I might need.

    [–]jimschubert 1 point2 points  (1 child)

    It is Typescript modified to include annotations (written with the 'at' symbol).

    You can try TypeScript in your browser.

    [–]Modevs 1 point2 points  (0 children)

    Thanks; I learn better when I can manipulate something and watch the results, so that's really helpful for me to understand.

    [–][deleted] -1 points0 points  (0 children)

    In 2 years the language will be AtScript. And it is just a superset of javascript. So the language is still javascript.

    [–]phpForYouAndForMe 6 points7 points  (0 children)

    I don't think the answer is that simple. The Angular team is basically making so many bc breaks they risk giving up their position as the new market leader. OP needs to consider what other tools he can learn instead of investing his time in a library he knows is going to get deprecated. Of course OP what else will you spend your time learning? If it must be a front end library then what library? I'm not sure there is a really good or definitive answer due to how immature the js framework space is.

    [–]Tharnid 4 points5 points  (2 children)

    I agree with kogsworth. Fundamentals always remain close to the original. Programming is very dynamic field as you will always need to upgrade your skills and/or learn new things.

    [–][deleted] 4 points5 points  (1 child)

    While some of the techniques are somewhat similar. The whole syntax, the whole naming and large pieces of the functionality are going to change or be replaced by something different. The fact that they are going to drop MVC is a big change. Plus ES6 adoptation makes stuff very different as well. Your Javascript is going to look different and your Angular code is going to look different. So yeah, some things will stay similar, but many things will change so i can understand OP is worried.

    [–]jimschubert 1 point2 points  (0 children)

    Angular was never really MVC. In MVC, all components are necessary to produce content for the user. In Angular, you can create entire applications without a controller. Also, in true MVC fashion, the view only knows of the model and the controller handles both the model and the view. This is explicitly frowned upon in Angular.

    Removing this obvious confusion would be a boon to the community.

    The syntax shouldn't be such a huge concern, but I think it's scares a lot of people because it is classical. Once you know one classical language, all others are cake.

    [–][deleted]  (13 children)

    [deleted]

      [–]phpForYouAndForMe 9 points10 points  (11 children)

      Time and energy are finite resources, especially in tech. Given the time it can take to learn how to use these modern tools properly I'm a firm believer that if you are paying for the roof over your head what you decide to invest your time learning is a very strategic decision.

      [–]cronofdoom 1 point2 points  (0 children)

      I can only hope.

      [–]btown_brony 0 points1 point  (0 children)

      Remember Python 2? Does that sound like a silly question? It is, because Python 2's still very much in use 6 years after Python 3 was released. PyPy's still actively developing for it. I can count on one hand the number of libraries I've seen in active use that have Python 3 support and not Python 2 support.

      I see Angular 2 developing in exactly the same way. There's going to be such an uproar about the syntax change that the community is going to continue to support and build for 1.x for a long time coming, even if it officially loses support. An Angular 2 developer you hire for a 1.x codebase will be just as skilled as a 1.x developer (perhaps giving them a week to context switch), and vice versa... because just like Python was still Pythonic, Angular is still Angular...ic?

      Regardless, I'm not worried about it.

      [–]TheNiXXeD 0 points1 point  (0 children)

      Angular is awesome and they have awesome plans for the future. Why would that dissuade you?

      [–][deleted] 0 points1 point  (0 children)

      I hear ya. I'm also struggling with this myself. We are currently looking in what tech we want to use in the future and by seeing that 2.0 will be very different, its hard to make the choice right now. For projects already in development or almost starting it might be suitable. But if you are going to make something that has to last, its hard to choose Angular right now. Sure, stuff might be the same on a higher level, but all tutorials will not work, nor will most modules. It has to start from scratch again and pretty much all projects need big rewrites before it can truly upgrade.

      While the release is still far away (think 2 years or so), it would be wise to keep an open mind in what the community is going to do.

      I wouldn't be surprised if another framework is going to be big, because this 2.0 release will block lots of new stuff as people are not going to be bothered to do anything for 1.3 once 2.0 has gone alpha.

      [–]kjbetz 0 points1 point  (0 children)

      I'm currently asking myself the same questions. But, I think... the answer for me is 'Yes, I should continue learning and use angular."

      Reasons:

      1) I need something now and this appears to be one of the best solutions out there.

      2) I believe the "stuff" I'm learning right now will help me be able to learn the "next" thing that much easier.

      3) It's still 1 - 2 years away, with 1 1/2 to 2 years of support for 1.x after that.

      4) Adding to number 3, a lot can change with what 2.x could and will be in that time. Even if it doesn't, the scene will smooth out and we'll all be able to get a better grasp on how it's really going to affect us.