<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Angular on Thorsten Hans</title>
		<link>https://thorsten-hans.com/tags/angular/</link>
		<description>Recent content in Angular on Thorsten Hans</description>
		<generator>Hugo</generator>
		<language>en-US</language>
		
		
		
		
			<lastBuildDate>Tue, 07 Mar 2017 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://thorsten-hans.com/tags/angular/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>KISS  Angular apps a bit more framework agnostic</title>
				<link>https://thorsten-hans.com/kiss-angular-apps-more-framework-agnostic/</link>
				<pubDate>Tue, 07 Mar 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/kiss-angular-apps-more-framework-agnostic/</guid>
				<description>&lt;p&gt;More and more developers are jumping on the &lt;em&gt;Angular&lt;/em&gt; train in these days. &lt;em&gt;Angular&lt;/em&gt; is awesome 💚🤘🏼 but it&amp;rsquo;s just a framework, a framework that may be replaced at some point in time by the next big thing.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Hopefully, the next big thing will also be an Angular thing 😀&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;But to be honest, nobody can tell. Fast forward a few years and you&amp;rsquo;ll find yourself being responsible for migrating an existing old &lt;em&gt;Angular&lt;/em&gt; &lt;code&gt;4.0.0&lt;/code&gt; app to the cool, new kid.&#xA;As soon as this will happen, you&amp;rsquo;ll hopefully remember this post. I&amp;rsquo;m going to share small, easy to adopt steps to make your &lt;em&gt;Angular&lt;/em&gt; apps a bit more &lt;em&gt;framework agnostic&lt;/em&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Electron CrashReporter - stay up to date if your app fucked up!</title>
				<link>https://thorsten-hans.com/electron-crashreporter-stay-up-to-date-if-your-app-fucked-up/</link>
				<pubDate>Fri, 03 Mar 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/electron-crashreporter-stay-up-to-date-if-your-app-fucked-up/</guid>
				<description>&lt;p&gt;Every one of us knows about those situations. You ship your app to production and you&amp;rsquo;re instantly losing 10 pounds of weight 💪🏼 if nothing bad happens in the first 24 hours. You&amp;rsquo;re finally able to get some sleep, customers are happy, the manager is happy, &lt;em&gt;you are happy&lt;/em&gt;!&lt;/p&gt;&#xA;&lt;p&gt;But at some point in time your app will crash! It will definitely crash. No matter how professional you are, there are bugs! Customers will find them! And that&amp;rsquo;s &lt;strong&gt;okay&lt;/strong&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Integrating Angular and Electron using ngx-electron</title>
				<link>https://thorsten-hans.com/integrating-angular-and-electron-using-ngx-electron/</link>
				<pubDate>Fri, 24 Feb 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/integrating-angular-and-electron-using-ngx-electron/</guid>
				<description>&lt;p&gt;GitHub Electron makes crafting cross-platform desktop applications really simple. You can take any existing website or &lt;em&gt;Single Page Application&lt;/em&gt; (&lt;em&gt;SPA&lt;/em&gt;) and just wrap it into a native container. Those containers (powered by &lt;em&gt;Chromium&lt;/em&gt; and &lt;em&gt;Node.js&lt;/em&gt;) could easily be distributed to all major desktop operating systems like &lt;em&gt;Windows&lt;/em&gt;, &lt;em&gt;macOS&lt;/em&gt; or &lt;em&gt;Linux&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;On the other side is &lt;em&gt;Angular&lt;/em&gt; as a full-blown application framework for building robust &lt;em&gt;SPAs&lt;/em&gt;. &lt;em&gt;Angular&lt;/em&gt; makes building &lt;em&gt;SPAs&lt;/em&gt; fun and provides a rich set of APIs to get everything done, inside of the client. However, sometimes you need a deeper integration. For example, you want to call into &lt;em&gt;Electron&amp;rsquo;s&lt;/em&gt; main-process to execute some &lt;em&gt;Node.js&lt;/em&gt; script like reading files from a directory or do some other processing using &lt;em&gt;Node.js&lt;/em&gt;. In those cases, you could utilize &lt;em&gt;Electron&amp;rsquo;s&lt;/em&gt; APIs.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Standard Angular Pipes and ng-translate</title>
				<link>https://thorsten-hans.com/standard-angular-pipes-and-ng-translate/</link>
				<pubDate>Thu, 23 Feb 2017 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/standard-angular-pipes-and-ng-translate/</guid>
				<description>&lt;p&gt;Of course is &lt;em&gt;Angular&lt;/em&gt; itself shipping with some &lt;em&gt;i18n&lt;/em&gt; (internationalization) APIs, but &lt;a href=&#34;https://github.com/ngx-translate/core&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;ng-translate&lt;/a&gt;&#xA; has become the new default for many developers to provide translations within &lt;em&gt;Angular&lt;/em&gt; apps.&lt;/p&gt;&#xA;&lt;p&gt;Personally, I prefer &lt;code&gt;ng-translate&lt;/code&gt; over built-in i18n APIs because it is fast, easy to explain and it allows to run multilingual apps without having the requirement to have dedicated hosting for each language.&lt;/p&gt;&#xA;&lt;p&gt;One of the disadvantages is, that &lt;code&gt;ng-translate&lt;/code&gt; doesn&amp;rsquo;t provide &lt;em&gt;Pipes&lt;/em&gt; as &lt;em&gt;Angular&lt;/em&gt; does. &lt;em&gt;Angular&lt;/em&gt; ships twelve useful &lt;em&gt;Pipes&lt;/em&gt;, including things like &lt;code&gt;DecimalPipe&lt;/code&gt;, &lt;code&gt;DatePipe&lt;/code&gt; or the &lt;code&gt;CurrencyPipe&lt;/code&gt;. Some of those standard &lt;em&gt;Pipes&lt;/em&gt; offer a simple way to format values directly within &lt;em&gt;HTML&lt;/em&gt; templates.&lt;/p&gt;</description>
			</item>
			<item>
				<title>HTML5 notifications in electron apps with Angular</title>
				<link>https://thorsten-hans.com/html5-notifications-in-electron-apps-with-angular/</link>
				<pubDate>Fri, 22 Jul 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/html5-notifications-in-electron-apps-with-angular/</guid>
				<description>&lt;p&gt;Within &lt;em&gt;Electron&lt;/em&gt; apps, you can use &lt;em&gt;HTML5 Notification API&lt;/em&gt; to keep users posted about events happened. &lt;em&gt;Electron&lt;/em&gt; is bridging incoming calls to &lt;em&gt;HTML5 Notification API&lt;/em&gt; to native notification APIs offered by all supported platforms.&lt;/p&gt;&#xA;&lt;h2 id=&#34;create-a-notification&#34;&gt;Create a notification&lt;/h2&gt;&#xA;&lt;p&gt;Creating new notifications is straightforward. An instance of the &lt;code&gt;Notification&lt;/code&gt; class is all you need. In the most basic shape, notification consists of a &lt;code&gt;title&lt;/code&gt;. Additional metadata could be provided by providing an object as the second parameter to the &lt;code&gt;Notification&lt;/code&gt; constructor, as demonstrated below with &lt;code&gt;body&lt;/code&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Using Augury inside of Electron Apps</title>
				<link>https://thorsten-hans.com/using-augury-inside-of-electron-apps/</link>
				<pubDate>Sat, 02 Jul 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/using-augury-inside-of-electron-apps/</guid>
				<description>&lt;p&gt;Writing apps using &lt;em&gt;GitHub&amp;rsquo;s Electron&lt;/em&gt; is a reasonably easy task. The framework and community-driven tools are taking away much pain from you as a developer. Nevertheless, it is essential to have powerful debugging tools working in every environment. &lt;a href=&#34;https://augury.rangle.io/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;em&gt;Augury&lt;/em&gt;&lt;/a&gt;&#xA; (created by &lt;em&gt;Rangle.IO&lt;/em&gt;) is currently the most powerful debugging tool for &lt;em&gt;Angular&lt;/em&gt; developers. It&amp;rsquo;s a &lt;em&gt;Chrome Extension&lt;/em&gt; that works perfectly inside of the Browser, in this post, you&amp;rsquo;ll learn how to use &lt;em&gt;Augury&lt;/em&gt; inside of your &lt;em&gt;Electron&lt;/em&gt; apps.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie - Why can&#39;t I compile my Angular app anymore</title>
				<link>https://thorsten-hans.com/angular-quickie-why-cant-i-compile-my-angular-app-anymore/</link>
				<pubDate>Mon, 15 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-why-cant-i-compile-my-angular-app-anymore/</guid>
				<description>&lt;p&gt;Staying on top of the technology stack is sometimes really hard. The &lt;em&gt;Angular&lt;/em&gt; core team tries to do it&amp;rsquo;s best to keep breaking changes as seldom as possible. Because &lt;em&gt;Angular&lt;/em&gt; is still in beta, breaking changes may happen. I was facing some issues while catching up latest betas. If you&amp;rsquo;re also facing &lt;code&gt;TS2304&lt;/code&gt; while transpiling your app, this article may help.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;After pulling a remote branch from git this morning, I tried to start a simple &lt;em&gt;Angular&lt;/em&gt; project by invoking our &lt;em&gt;Gulp.JS&lt;/em&gt; tasks. However, suddenly the script crashed and printed tons of errors from the &lt;em&gt;TypeScript Compiler&lt;/em&gt; (short &lt;code&gt;tsc&lt;/code&gt;). After some short discussion, I decided to dig deeper into the issue and tried to fix the issue and understand why this has happened.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular and Electron - The definitive guide</title>
				<link>https://thorsten-hans.com/angular-and-electron-the-definitive-guide/</link>
				<pubDate>Sun, 14 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-and-electron-the-definitive-guide/</guid>
				<description>&lt;p&gt;Building cross-platform apps for desktop operating systems became simple compared to the past. With &lt;em&gt;GitHub&amp;rsquo;s Electron&lt;/em&gt; is a framework available that takes away the pain for abstracting all common platform APIs from us as web developers.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Electron&lt;/em&gt; makes it easy to host &lt;em&gt;Single Page Applications&lt;/em&gt; (short &lt;em&gt;SPAs&lt;/em&gt;) within a native application container which is available for &lt;em&gt;macOS&lt;/em&gt;, &lt;em&gt;Linux&lt;/em&gt;, and &lt;em&gt;Windows&lt;/em&gt;. When looking at &lt;em&gt;Electron&amp;rsquo;s&lt;/em&gt; architecture, you will find two main counterparts.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie - Async Routes</title>
				<link>https://thorsten-hans.com/angular-quickie-async-routes/</link>
				<pubDate>Tue, 09 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-async-routes/</guid>
				<description>&lt;p&gt;&lt;em&gt;Angular&lt;/em&gt; ships with its component router. The router makes it easy to compose complex applications from a bunch of components. Multiple routers could easily be nested to achieve almost every requirement for a &lt;em&gt;SPA&lt;/em&gt;. When using regular routes, all files from your &lt;em&gt;SPA&lt;/em&gt; are transferred to the client as soon as &lt;code&gt;RouteConfig&lt;/code&gt; is interpreted by the JavaScript engine of your browser.&lt;/p&gt;&#xA;&lt;p&gt;With growing apps, you may change this behavior. Clients should only download those files that are required for the current use case. Alternatively, you would initially transfer only those files required to make the core functionality of your app work. Optional components and templates should only be transferred if users request those components explicitly.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Pug-up your Angular markup</title>
				<link>https://thorsten-hans.com/pug-up-your-angular-markup/</link>
				<pubDate>Fri, 05 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/pug-up-your-angular-markup/</guid>
				<description>&lt;p&gt;Can you imagine the combination of &lt;em&gt;Angular&lt;/em&gt; and Pug (previously known as Jade) is super awesome and timesaving? If not, read the following lines and reconsider!&lt;/p&gt;&#xA;&lt;p&gt;When building &lt;em&gt;SPAs&lt;/em&gt; using &lt;em&gt;Angular&lt;/em&gt; or &lt;em&gt;AngularJS&lt;/em&gt;, you use custom &lt;em&gt;HTML&lt;/em&gt; markup extensions (aka &lt;em&gt;directives&lt;/em&gt;) to instrument &lt;em&gt;Angular&lt;/em&gt; how to render your &lt;em&gt;SPA&lt;/em&gt; or how the different building blocks of your app should correspond to user interaction. Using those directives is smooth and well known in the &lt;em&gt;Angular&lt;/em&gt; Community.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie — ViewEncapsulation.Native in all browsers</title>
				<link>https://thorsten-hans.com/angular-quickie-viewencapsulation-native-in-all-browsers/</link>
				<pubDate>Wed, 03 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-viewencapsulation-native-in-all-browsers/</guid>
				<description>&lt;p&gt;A few days ago &lt;a href=&#34;https://thorsten-hans.com/angular-quickie-component-viewencapsulation-and-webcomponents/&#34;&gt;I wrote about &lt;em&gt;Angular ViewEncapsulation&lt;/em&gt;&lt;/a&gt;&#xA;. The sample I&amp;rsquo;ve created for that post only works if you&amp;rsquo;re using &lt;em&gt;Google Chrome&lt;/em&gt;. In this article, I&amp;rsquo;ll explain why the sample only works in &lt;em&gt;Google Chrome&lt;/em&gt; and how you can take the example one step further to work and behave as expected in all modern browsers.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Angular&lt;/em&gt; is using &lt;code&gt;ViewEncapsulation.Emulated&lt;/code&gt; by default, to render components. &lt;code&gt;Emulated&lt;/code&gt; means you&amp;rsquo;re not using native &lt;code&gt;ShadowDOM&lt;/code&gt; features; instead &lt;em&gt;Angular&lt;/em&gt; does some refactoring to both, your template and your styles, to encapsulate those from the rest of your app and render everything as expected. (see the linked article above for more details).&lt;/p&gt;</description>
			</item>
			<item>
				<title>Testing Angular Apps with Jasmine and TypeScript</title>
				<link>https://thorsten-hans.com/testing-angular-apps-with-jasmine-and-typescript/</link>
				<pubDate>Mon, 01 Feb 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/testing-angular-apps-with-jasmine-and-typescript/</guid>
				<description>&lt;p&gt;Unit-Testing &lt;em&gt;Angular&lt;/em&gt; applications made me crazy during Beta time. In this post, I&amp;rsquo;ll share how to set up unit testing for &lt;em&gt;Angular&lt;/em&gt; applications. The samples below were tested on &lt;em&gt;Angular 2&lt;/em&gt; &lt;em&gt;Beta 2&lt;/em&gt; and &lt;em&gt;Beta 3&lt;/em&gt;. There are many resources available on the web that explain how unit-testing should work in &lt;em&gt;Angular&lt;/em&gt; beta. Unfortunately, none of them worked for me from front to end. The official documentation is also lacking a fully working example with &lt;em&gt;SystemJS&lt;/em&gt; while I&amp;rsquo;m writing this article. Things may change over time, so you should check out the latest documentation on &lt;a href=&#34;https://angular.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://angular.io&lt;/a&gt;&#xA;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie - Component ViewEncapsulation and WebComponents</title>
				<link>https://thorsten-hans.com/angular-quickie-component-viewencapsulation-and-webcomponents/</link>
				<pubDate>Fri, 08 Jan 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-component-viewencapsulation-and-webcomponents/</guid>
				<description>&lt;p&gt;&lt;em&gt;&amp;ldquo;Component&amp;rdquo;&lt;/em&gt; is perhaps the most overloaded term when it comes to &lt;em&gt;JavaScript&lt;/em&gt; frameworks these days. Every single framework has its definition of what precisely a component is, also &lt;em&gt;Angular&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Components are the building blocks of &lt;em&gt;Angular&lt;/em&gt; apps. By default, &lt;em&gt;Angular&lt;/em&gt; embeds components into the &lt;code&gt;DOM&lt;/code&gt;. When &lt;em&gt;Angular&lt;/em&gt; renders your component, the entire contents of your template (string or loaded from the given &lt;em&gt;URL&lt;/em&gt;) goes inbetween the component&amp;rsquo;s selector.&lt;/p&gt;&#xA;&lt;p&gt;There are two different ways how &lt;em&gt;Angular&lt;/em&gt; is injecting the view for a given component. &lt;code&gt;ViewEncapsulation&lt;/code&gt; is responsible for defining how Views are injected. If you create a component like this:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie - Local template variables</title>
				<link>https://thorsten-hans.com/angular-quickie-local-template-variables/</link>
				<pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-local-template-variables/</guid>
				<description>&lt;p&gt;Local template variables in &lt;em&gt;Angular&lt;/em&gt; can be used to reference &lt;em&gt;HTML&lt;/em&gt; elements easily and use their properties either on sibling or child nodes.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s pretty easy to create and use those local template variables. Let&amp;rsquo;s say you have got an input file for dealing the first name of someone.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&#xA;  &lt;div class=&#34;code-toolbar&#34;&gt;&#xA;    &lt;span class=&#34;code-lang&#34;&gt;HTML&lt;/span&gt;&#xA;    &lt;button type=&#34;button&#34; class=&#34;code-copy-btn&#34; aria-label=&#34;Copy code to clipboard&#34;&gt;&#xA;      &lt;svg class=&#34;copy-icon&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;14&#34; height=&#34;14&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;rect x=&#34;9&#34; y=&#34;9&#34; width=&#34;13&#34; height=&#34;13&#34; rx=&#34;2&#34; ry=&#34;2&#34;&gt;&lt;/rect&gt;&#xA;        &lt;path d=&#34;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&#34;&gt;&lt;/path&gt;&#xA;      &lt;/svg&gt;&#xA;      &lt;span class=&#34;copy-text&#34;&gt;Copy&lt;/span&gt;&#xA;    &lt;/button&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;placeholder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;your name please&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;required&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;maxlength&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;25&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;You can make the &lt;code&gt;HTMLInputField&lt;/code&gt; available to sibling or child nodes using the &lt;code&gt;#&lt;/code&gt; symbol.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie — Elvis is in tha house</title>
				<link>https://thorsten-hans.com/angular-quickie-elvis-operator/</link>
				<pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-elvis-operator/</guid>
				<description>&lt;p&gt;Another &lt;em&gt;Angular quickie&lt;/em&gt; for today!😉 &lt;em&gt;Angular&lt;/em&gt; introduces the &lt;em&gt;Elvis&lt;/em&gt; operator &lt;strong&gt;?.&lt;/strong&gt; is used in templates.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;CoffeeScript&lt;/em&gt; Developers may know this as &amp;ldquo;Existential Operator&amp;rdquo; which can easily be used to check if a variable has a value.In combination with &lt;code&gt;*ngFor&lt;/code&gt; and &lt;code&gt;*ngIf&lt;/code&gt; this makes a good toolbelt for rapidly building UIs within *Angular *Apps.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://thorsten-hans.com/angular-quickie-elvis-operator/images/angular-quickie-elvis.gif&#34;&#xA;       alt=&#34;Elvis in tha Angular House&#34;&#xA;       title=&#34;Elvis in tha Angular House&#34;&#xA;       width=&#34;400&#34;&#xA;       height=&#34;322&#34;&#xA;       loading=&#34;lazy&#34;&#xA;       decoding=&#34;async&#34;&gt;&lt;/p&gt;&lt;p&gt;The &lt;a href=&#34;https://angular.io/guide/template-syntax#template-expression-operators&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;official Angular documentation&lt;/a&gt;&#xA; gives you a few examples of how to use the &lt;em&gt;Elvis&lt;/em&gt; operator.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular Quickie — How to structure your projects</title>
				<link>https://thorsten-hans.com/angular-quickie-structure-your-apps/</link>
				<pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-quickie-structure-your-apps/</guid>
				<description>&lt;p&gt;When building large &lt;em&gt;Angular&lt;/em&gt; Apps, you&amp;rsquo;ve to care about how to structure your project. I can imagine, &lt;a href=&#34;https://twitter.com/John_Papa&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;John Papa&lt;/a&gt;&#xA; will, of course, provide a new style guide soon 🙂 (no pressure here, we&amp;rsquo;ve our own for &lt;em&gt;Angular.JS&lt;/em&gt; and &lt;em&gt;Angular&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://thorsten-hans.com/angular-quickie-structure-your-apps/images/angular-quickie-tweet-john-papa.png&#34;&#xA;       alt=&#34;Jogn Papa sneaks a new styleguide for Angular devs&#34;&#xA;       title=&#34;Jogn Papa sneaks a new styleguide for Angular devs&#34;&#xA;       width=&#34;482&#34;&#xA;       height=&#34;185&#34;&#xA;       loading=&#34;lazy&#34;&#xA;       decoding=&#34;async&#34;&gt;&lt;/p&gt;&lt;p&gt;But already in those early days, you&amp;rsquo;ve to care about the project structure. Refactoring an entire project structure is hard 💩. So think about it, before you start coding.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Building an electron app using Angular Beta0 in TypeScript</title>
				<link>https://thorsten-hans.com/building-an-electron-app-using-angular-beta0-in-typescript/</link>
				<pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/building-an-electron-app-using-angular-beta0-in-typescript/</guid>
				<description>&lt;p&gt;You can build Angular apps using plain old &lt;em&gt;JavaScript&lt;/em&gt; and &lt;em&gt;TypeScript&lt;/em&gt;. I&amp;rsquo;ve been using plain JavaScript for the past &lt;em&gt;Angular&lt;/em&gt; demonstrations, because I felt in love again with &lt;em&gt;JavaScript&lt;/em&gt; after spending years with &lt;em&gt;CoffeeScript&lt;/em&gt; (But that&amp;rsquo;s a different story). However, teams at Google and Microsoft were working together in these days to marriage &lt;em&gt;Angular&lt;/em&gt; and &lt;em&gt;TypeScript&lt;/em&gt;. If you don&amp;rsquo;t know &lt;em&gt;TypeScript&lt;/em&gt; yet, go and learn it. It will change the way how you write Frontend stuff in the upcoming years. You can think of it as todays *&lt;em&gt;JavaScript&lt;/em&gt; on steroids. It makes you more productive, it makes your code more robust, you&amp;rsquo;ve to write less plumbing because the &lt;em&gt;TypeScript Compiler (TSC)&lt;/em&gt; generates all the good parts of &lt;em&gt;JavaScript&lt;/em&gt; and knows about the edge-cases.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Angular goes cross platform with GitHub Electron</title>
				<link>https://thorsten-hans.com/angular-goes-cross-platform-with-github-electron/</link>
				<pubDate>Mon, 16 Nov 2015 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/angular-goes-cross-platform-with-github-electron/</guid>
				<description>&lt;p&gt;A while ago I&amp;rsquo;ve posted a &lt;a href=&#34;https://github.com/ThorstenHans/electron-angular-es6&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;sample on how to write an electron app using Angular 1.x with ES2015 and JSPM&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Now having more than 100 stars on &lt;em&gt;GitHub&lt;/em&gt;, it seems to be quiet important for the community. That&amp;rsquo;s why I&amp;rsquo;ve decided to take this sample to another level.&lt;/p&gt;&#xA;&lt;p&gt;Angular2 is becoming more severe with each day. That&amp;rsquo;s why I&amp;rsquo;ve decided to publish another electron sample targeting Angular2. &lt;a href=&#34;https://github.com/ThorstenHans/electron-es2015-ng2&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Go and visit the repo right here on &lt;em&gt;GitHub&lt;/em&gt;&lt;/a&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Packaging Electron apps as ASAR archive using Gulp.js</title>
				<link>https://thorsten-hans.com/packaging-electron-apps-as-asar-archive-using-gulp/</link>
				<pubDate>Tue, 05 May 2015 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/packaging-electron-apps-as-asar-archive-using-gulp/</guid>
				<description>&lt;p&gt;A couple of weeks ago I open-sourced a sample on how to build an electron app using Angular and ES6. The sample has become popular on Github, so I sat down and updated the sample a bit. All changes are about distributing the electron app.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/ThorstenHans/electron-angular-es6&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://github.com/ThorstenHans/electron-angular-es6&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Instead of writing down all the bits, I&amp;rsquo;ve started Camtasia and recorded a short webcast.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ll explain all the required steps from 0 to the final &lt;code&gt;app.asar&lt;/code&gt; package in these 11 minutes. Enjoy&lt;/p&gt;</description>
			</item>
			<item>
				<title>Writing an Electron app using Angular and ES6</title>
				<link>https://thorsten-hans.com/writing-an-electron-app-using-angular-and-es6/</link>
				<pubDate>Mon, 04 May 2015 00:00:00 +0000</pubDate>
				<guid>https://thorsten-hans.com/writing-an-electron-app-using-angular-and-es6/</guid>
				<description>&lt;p&gt;If you haven&amp;rsquo;t heard of &lt;em&gt;Electron&lt;/em&gt; (formerly known as &lt;em&gt;Atom Shell&lt;/em&gt;) you should check out it&amp;rsquo;s official website &lt;a href=&#34;https://github.com/atom/electron&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I will not provide an introduction for all the different tools and frameworks. It&amp;rsquo;s more a walkthrough that should give you some hints on how to get things up and to run with the following stack.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/atom/electron&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Electron&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://angularjs.org&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Angular.JS&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;ES6 using &lt;a href=&#34;https://babeljs.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Babel&lt;/a&gt;&#xA; as transpiler&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/systemjs/systemjs&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;SystemJS&lt;/a&gt;&#xA; as module-loader&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;getting-started&#34;&gt;Getting started&lt;/h2&gt;&#xA;&lt;p&gt;First of all, you&amp;rsquo;ve to ensure that all dependencies are installed on your system and a simple folder structure has been created for the sample project.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
