{"id":28,"date":"2015-03-07T23:50:43","date_gmt":"2015-03-08T06:50:43","guid":{"rendered":"http:\/\/www.managerjs.com\/blog\/?p=28"},"modified":"2015-03-08T16:00:31","modified_gmt":"2015-03-08T22:00:31","slug":"ngconf-theme-angular-has-yo-back","status":"publish","type":"post","link":"https:\/\/www.managerjs.com\/blog\/2015\/03\/ngconf-theme-angular-has-yo-back\/","title":{"rendered":"NGConf Theme: Angular has Yo&#8217; Back"},"content":{"rendered":"<p>I was fortunate to attend NGConf in my home town: Salt Lake City. It wrapped up Friday night. \u00a0I can&#8217;t add much to all the <a href=\"http:\/\/www.ng-conf.org\/\">resources that will be available at their site<\/a>.\u00a0Check out <a href=\"https:\/\/www.youtube.com\/user\/ngconfvideos\">the\u00a0videos on YouTube<\/a>.<\/p>\n<p>I&#8217;ll report my sense of the conference and some personal highlights.<\/p>\n<h2>Don&#8217;t Fear Angular 2<\/h2>\n<p>The recurring message of the conference was that Angular is going to support you. This started with <a href=\"http:\/\/www.infoq.com\/news\/2015\/03\/angular-2-concerns-addressed\">details about the overlapping support plan for angular 1 and 2<\/a>. The theme continued throughout the conference as people talked about animations, i18n, material, and mobile support.<\/p>\n<p><!--more--><\/p>\n<p>Conferences are so good at recording the details and making the slides available. I just takes note of what stands out. This is a URL\u00a0here, a concept there. \u00a0It&#8217;s mostly a soup. \u00a0Your mileage may vary. Again, see their official site and recordings above for the full scoop. Here we go&#8230;<\/p>\n<ul>\n<li>Async Q&amp;A at\u00a0<a href=\"http:\/\/www.reddit.com\/r\/ngconf\">http:\/\/www.reddit.com\/r\/ngconf<\/a><\/li>\n<li>twitter: <a href=\"https:\/\/twitter.com\/hashtag\/ngconf?src=hash\">#ngconf<\/a><\/li>\n<li>The new router looks very promising. Many new features and serious approach to catching all use cases. Written for Angular 2 and back-ported to Angular 1.4\n<ul>\n<li>Watch ng-europe angular router design video.<\/li>\n<li>Note to self: Replace bbq with angular router.<\/li>\n<li>Speakers recommend using new router instead of UI-Router.<\/li>\n<\/ul>\n<\/li>\n<li>Angularjs.org &#8211; 1.0.\u00a0angular.io is the 2.0 site.\n<ul>\n<li>They will release angular 1 until majority move to angular 2.0. They will publish the metrics they use for making this decision.<\/li>\n<li>They will support a big bang migration path and both inside-out and outside-in migration paths. Will publish a migration guide.<\/li>\n<\/ul>\n<\/li>\n<li>Angular Material: responsive design. Built for mobile and accessibility.<\/li>\n<li>AtScript is now TypeScript. Intriguing talk of Dart and TypeScript. Should play with these things. \u00a0Noticeable buzz.<\/li>\n<li>PluralSight is looking for authors. Good to support community. Good way to build career. Could make money sense. \u00a0My wife is published, have several friends that are, too. Often not very lucrative. PluralSight&#8217;s pitch is intriguing. Reward authors. Win win.<\/li>\n<li>Interesting use of scripts during prototyping to pull data from a google doc into a prototype. \u00a0See <a href=\"http:\/\/www.google.com\/script\/start\/\">script.google.com<\/a>. See ng-prototype (link?).<\/li>\n<li>McGraw Hill sponsored the children&#8217;s track for the conference. Very cool. Book publishing company.<\/li>\n<li>Bench Press &#8212; for running benchmarks.\n<ul>\n<li>Compare with BenchMarkJS for running micro-benchmarks.<\/li>\n<li>BenchPress is for larger interactions &#8212; macro benchmarks.<\/li>\n<li>Built on protractor, WebDriver.<\/li>\n<li>Can set up own performance bench marks.<\/li>\n<\/ul>\n<\/li>\n<li>ngTasty &#8212; common angular components at twitter.<\/li>\n<li>See <a href=\"https:\/\/github.com\/DanWahlin\">github.com\/DanWhalin<\/a> for more info on Angular and TypeScript.\n<ul>\n<li>Check out TypeScript 1.5 (soon to release) with angular 1.4 (soon to release) and angular 2.0 (who knows when).<\/li>\n<li>Play with <a href=\"http:\/\/www.typescriptlang.org\/playground\">typescriptlang.org\/playground<\/a><\/li>\n<li>Personal note: CoffeeScript has been painful experience on large team. Didn&#8217;t go whole hog and the partial dabbling just led to a lot of pain over time. \u00a0Can TypeScript be better? Am I ruined for types in my JS? I know <a href=\"https:\/\/twitter.com\/tvalletta\">Tom Valetta<\/a> is. This came up several times in breaks.<\/li>\n<\/ul>\n<\/li>\n<li>Accessibility testing. \u00a0Protractor plus tools to audit accessibility. Google Marcy Sutton for videos.<\/li>\n<li>Angular Fire &#8212; Fire-base with stronger integration with angular<\/li>\n<li>Ionic &#8211; Mobile Real time apps.<\/li>\n<li>Web Worker Angular Digest. \u00a0NOTE: Angular doesn&#8217;t run in a web worker, but pieces of it can.<\/li>\n<li>Try makingamobileappwithng-cordova.\n<ul>\n<li>Guy behind me, &#8220;I don&#8217;t care what they say, I still think\u00a0that if you aren&#8217;t doing native then you&#8217;re doing it wrong. On the web that&#8217;s HTML, CSS, and JS. On mobile thats Swift or Java.&#8221; Other guy, &#8220;What about Dart? Is Google doing it wrong?&#8221; First guy hesitates, &#8220;Uh&#8230; yeah.&#8221; With growing conviction. &#8220;Yeah, They&#8217;re doing it wrong.&#8221;<\/li>\n<li>My experience is that a hybrid app contest with native development lost out. The hybrid thing had too many special cases and felt like, &#8220;The worst of all worlds&#8221; to our developers. \u00a0I&#8217;d love to be a believer in hybrid. \u00a0Need more cuddles to get over past woes.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Day 2:<\/p>\n<ul>\n<li>Idea\u00a0to self: write my personal tools in bleeding edge so that I can feel out these things. For example, hapi, ng 2, etc.<\/li>\n<li>Binding moves data from parents to children. To go the other way use events.<\/li>\n<li>Falcour &#8211;async models.\n<ul>\n<li>Very similar to work I did a few years ago in Flex. \u00a0Had \u00a0a complicated system where the bindings on a proxy allowed me to compute the smallest amount of data to fetch. \u00a0Slick with a price. Can be complicated to optimize. Difficult to debug when it gets it wrong.<\/li>\n<\/ul>\n<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/typescript\">github.org\/microsoft\/typscript<\/a> and <a href=\"https:\/\/github.com\/microsoft\/ngconf2015demo\">ngconf2015demo<\/a><\/li>\n<li>nganimate &#8212; <a href=\"http:\/\/www.yearofmoo.com\/\">yearofmoo.com<\/a><\/li>\n<li>Note to self: ng2 is so compatible with web components we must remember to use the principle of least power. If the reusable bit can be\u00a0<em>just<\/em> a component then perhaps that is better than bringing in angular. \u00a0Must play with this. Still, the principle is sound. &#8230; Can something as big as the pedigree on FamilySearch.org\/tree be a component? Or is that an app since it has such deep hooks into data?<\/li>\n<li>Google uses screen shot comparison. This is a moment of validation for me. \u00a0I was just suggesting this as work earlier in the week. \u00a0So many problems are obvious when rendered and terribly difficult to catch otherwise. \u00a0I&#8217;ve met lots of resistance to this in the past because it can give you lots of false negatives. \u00a0But that just means keep the human validation on rails and the total number of shots manageable. Still worth looking into.<\/li>\n<li>LotsofenergybehindRxJS observables. Allows stream processing. \u00a0In lunchlinechattedwithTomValetta about this. \u00a0Good for things that would be a promise, but you also might want to update it. \u00a0For example, perhaps you have acentralviewwithmanyancilary. Each view can ask, &#8220;what are we looking at?&#8221; A promise can only answer that question once. An observable can update the answer with, &#8220;Oh yeah, now we&#8217;re looking at this.&#8221;\n<ul>\n<li>Note to observables fans: you need better demos. \u00a0Text following a cursor is just too abstract to get me going.<\/li>\n<\/ul>\n<\/li>\n<li>KendoUI from Telerik. Try out their free widgets.<\/li>\n<li>Check out ngHammer<\/li>\n<li>Check out ESLint style checker<\/li>\n<li>jpapa.me\/style guide (link?)<\/li>\n<li>i18n &#8211;pseudotranslation tool &#8212; very useful,we&#8217;vehadtoimplementthisover and over again as we move through technologies.\n<ul>\n<li>ng 1.4 will support gender and plurals<\/li>\n<li>message format support<\/li>\n<li><a href=\"http:\/\/pascalprecht.github.io\/\">pascalprecht.github.io<\/a><\/li>\n<li>IDEA: i18n torture test: make it possible to translate the sentence, &#8220;Your grandfather was hungry so you gave him 2 hotdogs.&#8221; But be able to vary &#8220;grandfather&#8221; with both maternal and paternal grandfathers and grandmothers (hint: it&#8217;s different in some languages like Swedish. Farfar and morfar both mean grandfather.); be able to vary the pronount &#8220;him&#8221; to &#8220;her&#8221;; be able to vary the number of hotdogs.<\/li>\n<\/ul>\n<\/li>\n<li>Maker of plunker was an accountant with no training. Did scary things in the early days. \u00a0Book recommendation: <em>Adapt: Why success always starts with failure<\/em>.<\/li>\n<li>Victor Sarkin &#8212; dense change detection stuff.<\/li>\n<li>Book recommendation: <em>Nurtured by love<\/em>. Talent is made, not born.<\/li>\n<\/ul>\n<h2>The Swag<\/h2>\n<p>Seems that the leaders of the Angular community are very interested in creating a growing population of developers with warm fuzzy feelings about the whole project. On stage they estimated that one in four attendees would win a prize. \u00a0I won a year subscription to Audible which is worth about $130. Many people won gifts of similar or greater value. \u00a0The<br \/>\nmood in the room was very positive.<\/p>\n<p>If it was all prizes then that wouldn&#8217;t be very inspiring. The core message of the conference reinforced the generous prizes: the leaders of the community <em>will stand by its members<\/em>. Sitting in the room with these folks you felt that they were genuinely concerning themselves with the most important issues they could identify, and they want our help keeping them on track.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-41 aligncenter\" src=\"http:\/\/www.managerjs.com\/blog\/wp-content\/uploads\/2015\/03\/2015-03-07-ngconf-has-yo-back.gif\" alt=\"Animated gif of angular team has yo back.\" width=\"256\" height=\"256\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was fortunate to attend NGConf in my home town: Salt Lake City. It wrapped up Friday night. \u00a0I can&#8217;t add much to all the resources that will be available at their site.\u00a0Check out the\u00a0videos on YouTube. I&#8217;ll report my sense of the conference and some personal highlights. Don&#8217;t Fear Angular 2 The recurring message&hellip; <a class=\"more-link\" href=\"https:\/\/www.managerjs.com\/blog\/2015\/03\/ngconf-theme-angular-has-yo-back\/\">Continue reading <span class=\"screen-reader-text\">NGConf Theme: Angular has Yo&#8217; Back<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":40,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[10],"class_list":["post-28","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-angular","wow fadeInUp","entry"],"_links":{"self":[{"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/posts\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":8,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/posts\/28\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/posts\/28\/revisions\/44"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/media\/40"}],"wp:attachment":[{"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/media?parent=28"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/categories?post=28"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.managerjs.com\/blog\/wp-json\/wp\/v2\/tags?post=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}