Signup for the Ionic Newsletter to get the latest news and updates!

  • Victor Mejia

    Nice concise tutorial, thanks! Looking forward to the next posts.

  • lahaxe_arnaud

    Very nice article !

  • kunalnagar

    I cannot see the article. I just see the heading that’s it. Anyone else?

    • yesimahuman

      We are having some issues with the new blog and will be fixing ASAP. Sorry!!

      • kunalnagar

        Not a problem! 🙂

  • Patrick Sullivan

    So, is this article so nice and concise that there are no words … ?

    • Mike Hartington

      All better now! Sorry about that, Ionitron likes to play pranks 🙂

  • Shameem Reza

    Awesome writing…

  • Andres Felipe

    Hey nice way to start, thanks

  • Jim Cummins

    Have you guys heard any more info about when Angular 2 will have a router?

    • Bert Vriens

      Looking at following g+ post you can already use it. /Start post/
      You can start with ng1 and use the ngNewRouter (which will also be used in ng2) and start with the this.someVariable approach.
      Take a look at my demo-app where I show this approach with a link to the demo-app.ties this Google+

  • Patrick Sullivan

    This is such a great idea to write this series to help people get introduced. Really excited to start working with Angular and Ionic 2.

  • blanketwarriors

    YAAAAAAAAAAAAAY!!! Thanks for taking the time to write this! Will def check back for more as they come out!

  • Shahid Khan Afridi

    Short and Simple article, but through the point and meaningful article. Keep it up…

  • 최종욱

    Great article! Thanks! May I translate this article into korean and share it on my blog? Of course, the post will show the origin(this article)

    • maxcodiqa

      Of course 🙂

  • Shahzad Soomro

    so short and so clean.. Awesome Tutorial ! Excited to see your next post for TypeScript + AngularJS!

  • BravoZuluMaster

    Thanks for the nicely written intro to Ang2.0. It’s much appreciated!

  • Siddhartha R

    Cool! Is it possible to get more details in the next blog? For example how would you modify your existing directives into a web-component, your thought process and an example, may be?

  • cihadturhan

    Thanks for the tutorial. It’s super simple and understandable. I’d like to see more.

    I have question: In your `app.js` you created a class with a name MyAppComponent but you didn’t declare anywhere that your component belongs to MyAppComponent. How does it know the relation between component and its controller? Does it infer from name like
    my-app + component => MyAppComponent ?

    What if I define two classes like MyAppComponent1 and MyAppComponent2 in app.js? Which one will it choose?

    • ironmonk

      The “@Component” declaration is an annotation for the component class that has the selector “my-app” which tells the component where to find elements.

      • Bo83

        So to clarify, the “@Component” and “@Template” attributes will always apply to the class body that is defined immediately below them, is that a true statement? Thanks!

  • wahyd4

    Awesome team!

  • Elias Hansén

    Thanks for the introduction! Will be following along with the series 🙂

  • Alain Boudard

    awesome, so simple that it’s even better than the official one !

  • Ryan Lindgren

    Please don’t go crazy with the abstraction, on your end.

  • Ronan Connolly

    Very succinct thanks 🙂

  • Mangap

    Any estimate time when it will be released?

  • opportunex

    When are you releasing Ionic 2? Is it going to be backward compatible? Having just spent the last three months learning Angular and Ionic, this seems a bit disconcerting. As a veteran jQuery and JavaScript programmer, I found Angular to have a very steep learning curve and the prospect of having to do all of that over again is a stressful prospect.

    Our app is nearly ready for release and all of this makes me wonder if we selected the right platform for the job. Any thoughts?

    • yesimahuman

      We are targeting for later this year. In the meantime, we are going to be talking about ways to naturally move to 2. Today, we recommend a few things: use component-style directives (restrict: E), and use services. Try to limit your use of scope and controllers.

      The good thing is these are all best-practices in Angular 1 anyways, so you’ll have a more natural update path.

      Also, many of the directives are staying the same, so the markup you write won’t be dramatically different. We are also thinking of an automated 1to2 tool as well.

      The benefit to 2 is really that it’s a lot easier to learn and use than 1 was. It will make it easier to have your whole team help on the app, rather than just a hardcore angular person.

  • Max

    Trying the exact code in this post I get an “Error during instantiation of Token(AppView)!. ORIGINAL ERROR: Error: No template found for MyAppComponent” message…

    P.S.: if I export the class, nothing happens

    • Chris Barnett

      I also have the same problem following the 5 min quickstart on

    • Duncan Booth

      @Max, I got the same error. Changing both occurrences of `View` to `Template` in app.js gets it working.

      • camden_kid

        Thanks. That worked. If anyone followed the same example here change @View to @Template and template: to inline:

        • yesimahuman

          note: View is the new syntax, not sure why it’s failing for you locally. Could just be a case of the wrong version.

          • camden_kid

            I followed this and it didn’t work without the changes mentioned above. I just downloaded the latest version from GitHub but lots of files now have the extension .es6 and I couldn’t get it to work with these files.

      • Chris Barnett

        Thanks @Duncan Booth and @camden_kid

    • Max

      Thank you @kupuguy:disqus and @camden_kid:disqus .

    • Max

      Thank you @kupuguy:disqus and @camden_kid:disqus !

  • Krish

    I could not run this example. I have used the same structure and deployed to tomcat server. Should I require any special browser to support ES6 scripts? Any idea how I could proceed?

  • Arash Bizhan zadeh

    Why TypeScript? Isn’t Dart a natural choice if they wanted a alternative language.

    • Abraão Alves

      Typescript is more javascript friendly! [ts is js superset]

      • Arash Bizhan zadeh

        “javascript friendly”!? Is that a new thing?

  • Dmitri

    So how is this better or easier than simply putting
    ‘Hello {{ name }}’
    into your HTML and declaring `name`
    in the controller exactly the same way?

    No verbose markup keywords like “@View”, “@Component”, etc, to remember, less code to write and maintain, anything I am missing?

  • Nemo

    should I really be starting a project on Ionic now?? which uses Angular 1.x…. seeming that Angular 1 et 2 are so different from each other I don’t think my company can afford the resource to maintain 2 version of a same project..

  • Hassan Moujahed

    Nice article but, it does not work for me i have 2 errors:
    Uncaught SyntaxError: for-in loop variable declaration may not have an initializer

    inUncaught ReferenceError: System is not defined file es6-shim.js line 4941

  • gnana sekaran

    I got an error, please help me!!
    Uncaught ReferenceError: System is not defined

  • 陳仲仲

    the best article about angular2 hello world!! Thanks ionic team’s passion and this awesome job!

  • Gabriel D

    Where should index.html and app.js should be placed? Inside any folder? Or on the root of the project? I added on the root, but it did not work

  • AlexH

    Nice. I plan to star my series on angular 2 too
    Time to start playing with Angular 2.0

  • Áron Barócsi

    I mean even ionic 1.x is full of bugs and many issues coming from bad principles, Ionic github is totally overwhelmed with open tickets and unfixed bugs and now you are working on ionic 2. This is good, but why not work on ionic 3?

  • Jay Moss

    has the repo been locked down or moved:

    ..myApp>git clone [email protected]:angular/quickstart.git

    Cloning into ‘quickstart’…

    Permission denied (publickey).

    fatal: Could not read from remote repository.

    Please make sure you have the correct access rights

    and the repository exists.

    • Arman Fazylov

      Had the same issue. First generate ssh key for your github account (i called it github_rsa), then upload it to your github. Then run following commands from terminal:
      ssh-agent -s
      ssh-add ~/.ssh/github_rsa

  • earl8888