<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>BeastCode</title>
    <description>My blog about code.</description>
    <link>/</link>
    <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 19 Jun 2016 06:30:15 +0000</pubDate>
    <lastBuildDate>Sun, 19 Jun 2016 06:30:15 +0000</lastBuildDate>
    <generator>Jekyll v3.1.6</generator>
    
      <item>
        <title>ng-conf summary in words!</title>
        <description>&lt;p&gt;Angular Conference: ng-Conf Salt Lake City May 4th-6th 2016&lt;/p&gt;

&lt;p&gt;What is ng-conf?
Ng-conf is a 3 day Angular conference, created and hosted by people in the Angular community. Developers come from all over the world and Google’s core Angular team is leading the core talks and are there to give back to the community. It’s extremely well organized for having 1500 people attending and this year they had two full days of talks and one day with workshops you could pick and choose from.&lt;/p&gt;

&lt;p&gt;It’s the best conference I’ve been to and hope to be back in the future!&lt;/p&gt;

&lt;p&gt;I tried to keep the summary short and only include the most interesting things. This summary contains information gathered from talks, workshops, Q&amp;amp;As and hallway conversations. At the bottom, you’ll find links to videos if you want to do a deeper dive into any of the topics.&lt;/p&gt;

&lt;p&gt;Executive Summary:&lt;/p&gt;

&lt;p&gt;Angular 1 is a framework. Angular 2 is a platform!&lt;/p&gt;

&lt;p&gt;Summary:&lt;/p&gt;

&lt;p&gt;Angular 1 is a framework. Angular 2 is a platform!&lt;/p&gt;

&lt;p&gt;Angular 2 is not just for the web, it can also be used for native mobile apps, hybrids mobile apps, progressive mobile apps and even desktop apps. It also supports server side rendering and you can switch the view layer for other options like React.&lt;/p&gt;

&lt;p&gt;The size of Angular 2 is now ~45KB. That is smaller than ng1 thanks to the new offline compiler. Angular 2 is easier to learn and understand than Angular 1 (ng1). “Much of the tough stuff is not Angular.” Angular 1 had 43 directive and Angular 2 has two.&lt;/p&gt;

&lt;p&gt;Angular 2 is fast. It renders 5 times faster than ng1 and change detection is now 10 times faster.&lt;/p&gt;

&lt;p&gt;ngUpgrade makes it possible to have Angular 2 code in your Angular 1 application.&lt;/p&gt;

&lt;p&gt;There is an Official Style Guide: https://angular.io/styleguide&lt;/p&gt;

&lt;p&gt;Angular Universal will allow Angular to run on the server instead of the client. A server can render the page and just send over what should be displayed on the client without all the dependencies like libraries. The initial load and experience will be a lot faster. The client records all events while the real page loads and the events are played back to the actual page once it’s loaded. This is currently working with NodeJS and Asp.net, but will come to JBOSS/Wildfly soon as well.&lt;/p&gt;

&lt;p&gt;Batarangle (the debugger for ng1) is rewritten for Angular 2 and called Augury (https://augury.angular.io/).&lt;/p&gt;

&lt;p&gt;Angular 2 went from Beta to Release Candidate the day before the conference, you can follow the progress and future mile stones here: https://github.com/angular/angular/milestones&lt;/p&gt;

&lt;p&gt;Angular CLI (https://cli.angular.io/) is a new command line interface for Angular 2. It will simplify how you build applications. To create a new application all you have to type is “ng new [appName]” and run it: “ng serve”. When you need to add components you use the “ng generate component” command.&lt;/p&gt;

&lt;p&gt;Angular Mobile Toolkit allows you to create progressive mobile apps: Instant Loading, Offline capabilities, Installable and Notifications. Is this the future of mobile apps? Can this replace native apps?&lt;/p&gt;

&lt;p&gt;Want to build Native apps? NativeScript was built on TypeScript and supports Angular 2. NativeScript converts Angular 2 code into the native iOS and Android API calls which are then executed as if you were writing a native mobile application in Objective-C (iOS) or Java (Android). If you don’t like NativeScript there are another options…. ReactNative!!!&lt;/p&gt;

&lt;p&gt;If you prefer hybrids app over native apps, Ionic 2 is still a choice (http://ionic.io/2)&lt;/p&gt;

&lt;p&gt;Electron allows you to package a JavaScript app for the desktop. This is cross platform solution that works on Windows, Mac and Linux. If you want see an example check out Visual Studio Code: https://code.visualstudio.com&lt;/p&gt;

&lt;p&gt;The Angular Component Router was rewritten and the existing component router will be deprecated. The router doesn’t load your components till you need them. This means faster load of the application and you can now separate your concerns by adding the routing to individual components.&lt;/p&gt;

&lt;p&gt;Material Design is used a lot on Android and an option to Bootstrap, but Angular Material for Angular 2 will not be ready till October.&lt;/p&gt;

&lt;p&gt;Reactive Programming
Two-way databinding was a core concept of ng1. For those of you that played with early alpha version of Angular 2, you might have noticed that two-way databinding didn’t exist, it came later. Angular 2 fully supports functional/reactive patterns. If you like Redux you can use it, but there is now a stream based option for Angular called ngRx (https://github.com/ngrx).&lt;/p&gt;

&lt;p&gt;AngularFire 2 is now in Beta (https://angularfire2.com/api/)
Is Firebase becoming the defacto standard as a backend prototyping database? (https://www.firebase.com/) Google Cloud is switching some of their services to Firebase.&lt;/p&gt;

&lt;p&gt;If you going to learn Angular 2, you need to learn about Zones. Angular2 is built on it, it manages asynchronous tasks. It also allow for longer stack traces and ignores the $digest / $apply cycles and will also help with testing.&lt;/p&gt;

&lt;p&gt;Codelyzer helps you finding problems in your code by checking your code against rules defined in your lint files. It’s now built into Angular CLI.&lt;/p&gt;

&lt;p&gt;Angular 2 has a better way of supporting animations, see Matias talk below.&lt;/p&gt;

&lt;p&gt;e2e Testing with Protractor. Protractor is an end-to-end test framework for AngularJS applications and works with Angular 2. Protractor is a Node.js program built on top of WebDriverJS (Selenium). Protractor runs tests against your application running in a real browser, interacting with it as a user would. Testing will be easier thanks to Zones. There is also plans add  headless mode to Chrome.&lt;/p&gt;

&lt;p&gt;Is Angular 2 ready for production?
Google Fiber is using Angular 2, Google’s CRM app (Greentea) with over 100 developers is written in Angular 2 and now the AdWords team made the switch as well.&lt;/p&gt;

&lt;p&gt;Here are links to the video of some of the more interesting talks&lt;/p&gt;

&lt;p&gt;Key Note – Brad Green Jules Kremer
https://www.youtube.com/watch?v=gdlpE9vPQFs&lt;/p&gt;

&lt;p&gt;Angular 2 – John Papa
https://www.youtube.com/watch?v=WAPQF_GA7Qg&lt;/p&gt;

&lt;p&gt;TypeScript – Daniel Rosenwasser
https://www.youtube.com/watch?v=dzPjBWLdGz0&lt;/p&gt;

&lt;p&gt;Angular 2 &amp;amp; Typescript – Dan Walin
https://www.youtube.com/watch?v=e3djIqAGqZo&lt;/p&gt;

&lt;p&gt;Angular 2 – Scott Moss
https://www.youtube.com/watch?v=GE5gZX6V6Zs&lt;/p&gt;

&lt;p&gt;New router – Misko Hevery
https://www.youtube.com/watch?v=d8yAdeshpcw&lt;/p&gt;

&lt;p&gt;Augury Debugger
https://www.youtube.com/watch?v=b1YV9vJKXEA&lt;/p&gt;

&lt;p&gt;Angular 1.5 components – Pater Bacon Darwin
https://www.youtube.com/watch?v=AMwjDibFxno&lt;/p&gt;

&lt;p&gt;Testing – Julie Ralph
https://www.youtube.com/watch?v=DltUEDy7ItY&lt;/p&gt;

&lt;p&gt;Angular Material – Kara Erickson
https://www.youtube.com/watch?v=rRiV_b3WsoY&lt;/p&gt;

&lt;p&gt;Animations – Matias Niemela
https://www.youtube.com/watch?v=Hr4IKlr9mhg&lt;/p&gt;

&lt;p&gt;React Native
https://www.youtube.com/watch?v=yDbaihb1eIs&lt;/p&gt;

&lt;p&gt;Reactive Programming
https://www.youtube.com/watch?v=yEeDbHvg1vQ&lt;/p&gt;

&lt;p&gt;Reactive Angular 2 (ngRx) – Rob Wormald
https://www.youtube.com/watch?v=mhA7zZ23Odw&lt;/p&gt;

&lt;p&gt;Angular CLI
https://www.youtube.com/watch?v=wHZe6gGI5RY&amp;amp;list=PLvbhmfXjoKkdhhF_aHz8Ued1depHslamP&lt;/p&gt;

&lt;p&gt;ng-Show - Shai Reznik
https://www.youtube.com/watch?v=aSFfLVxT5vA&lt;/p&gt;

&lt;p&gt;All Slides &amp;amp; Code Samples&lt;/p&gt;

&lt;p&gt;https://github.com/mikedice/ngconf2016-slides/blob/master/ngconf-slides.md&lt;/p&gt;

</description>
        <pubDate>Tue, 14 Jun 2016 00:58:28 +0000</pubDate>
        <link>/ngconf-in-words/</link>
        <guid isPermaLink="true">/ngconf-in-words/</guid>
        
        
      </item>
    
      <item>
        <title>First Post!</title>
        <description>&lt;p&gt;This page is just for test the blog:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-javascript&quot; data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;kr&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;Component&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;@angular/core&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kr&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;RouteConfig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;ROUTER_DIRECTIVES&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;@angular/router&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kr&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;UsersRoute&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;./users/routes/UsersRoute/UsersRoute&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kr&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;API_PROVIDERS&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;./users/services/api&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Component&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;selector&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;app&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;template&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;./app.html&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;providers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;API_PROVIDERS&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;directives&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;ROUTER_DIRECTIVES&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;RouteConfig&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;/&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
     &lt;span class=&quot;na&quot;&gt;redirectTo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&#39;/Users&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;UsersList&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;/users/...&#39;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;component&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;UsersRoute&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;as&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&#39;Users&#39;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;kr&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;kr&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;App&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

</description>
        <pubDate>Sun, 05 Jun 2016 00:58:28 +0000</pubDate>
        <link>/first-post/</link>
        <guid isPermaLink="true">/first-post/</guid>
        
        
      </item>
    
  </channel>
</rss>
