When learning a new framework I often find it is useful to examine the source, use the framework, then go into a separate project and build the functionality from scratch to better understand the motivation behind the framework and what it may be saving me by using it. Angular is no exception. There are many tools in the AngularJS toolbox, from data-binding to compiling new HTML tags, but one of my favorites is the built-in dependency injection. You can browse Angular’s DI code here and read my blog posts about understanding Providers, Services, and Factories. A more advanced version is detailed in Interception using Decorator and Lazy Loading with AngularJS.
“Well, Dimitri, every search for a hero must begin with something every hero needs, a villain. So in a search for our hero, Bellerophon, we have created a more effective monster: Chimera.” – Dr. Nekhorvich, Mission Impossible II
The WebSockets protocol provides full-duplex communication on top of a TCP connection that is initiated by an HTTP handshake. The fact that it runs over existing HTTP and HTTPS ports allows it to pass easily through most existing firewall configurations. The Windows Runtime provides a powerful set of networking APIs that includes components specifically designed for WebSockets communications. In this article, Jeremy Likness shows how to connect to WebSockets using both message-based and real-time connections from Windows Store apps.
In 2011 I heard the first rumors about Windows 8 and knew immediately what my next book would be about. Unlike Designing Silverlight Business Applications that captured years of experience writing Line of Business (LOB) apps in Silverlight, this book would be an introduction to an entirely new platform. My goal was to take what I knew and loved about Silverlight, find its similarities in the new platform, and then highlight what I felt were some amazing developer experiences. It was important to get to market fast, so through several iterations of the Windows 8 releases (including changes to terminology) that required substantial rewrites of content and a rapid release cycle, I managed to release Building Windows 8 Apps with C# and XAML as Windows 8 was released to the world.
By necessity, this book introduced developers to the new platform but didn’t dig into best practices (there were none yet) or get very deep (there simply wasn’t time). I vowed to release another book that would fill in the missing pieces and provide a comprehensive overview of the entire Windows Runtime. Because anyone can read the documentation and reference the API, my intent with this book was to make it example-driven and provide thousands of lines of code for you to integrate and use to kick-start your own Windows Store apps.… Read more
If you run the app (don’t worry, I’ll give you a link in a minute if you don’t want to build and run it on Windows 8) you’ll see some of the more interesting announcements included future convergence of libraries (right now there are separate libraries for the phone and PC platform) and fresh support for the Xbox. Although those are both cool, what intrigued me the most was the fact that they made the WinJS library open source. What does that mean really? I originally viewed WinJS as a shim between HTML5 and the Windows Runtime, so I couldn’t imagine a scenario where it made sense on the web.… Read more
This past Thursday I had the pleasure of presenting for the Linked In .NET Users Group. The topic was TypeScript. My goal was to show how well TypeScript works to solve common problems in the enterprise to tackle it from the perspective of Return on Investment and how it scales teams, improves productivity, increases quality and reduces overhead. The talk is split between this discussion and hands on examples that cover the semantics while tying them back into the concept of large, parallel teams.
Here is the abstract of the talk followed by the video and deck.
In this talk, Jeremy Likness will explore the use of TypeScript in enterprise-scale applications. He’ll discuss not only the technological benefits of TypeScript but also explore the impact to the software development lifecycle overall.… Read more
Why Even Care About MVVM?
Why should you, as a developer, even care about the Model-View-ViewModel pattern? There are a number of benefits this pattern brings to both WPF and Silverlight development. Before you go on, ask yourself:
If you are familiar with Angular, this post may give you some ideas to think about you hadn’t encountered before. If you know Angular and are trying to justify its adoption at your company or on your project, this post can provide you with some background information that may help. If you have no idea what Angular is, read on because I’ll share why it’s so powerful and then point you to resources that will get you up to speed, quickly.… Read more
Silverlight made its debut in 2006 with the confusing acronym WPF/E (that’s Windows Presentation Foundation, Everywhere). Indeed the original dream was that a slimmed down version of the .NET Framework could run as a plugin in any browser (including smart phones) and enable developers to wield their weapons of XAML, data-binding, and C# to write line of business apps that would run everywhere. Although it took a few versions to mature, in May of 2011 version 5.0 was released with the features most requested by enterprise users. That was also the year I wrapped up my book about building business applications with Silverlight, titled Designing Silverlight Business Applications (Addison-Wesley, 2012).
In the forward of that book I discussed how the refusal of certain vendors to include the plugin on their smartphones didn’t necessarily mean the demise of Silverlight, but would relegate it to the domain of rich enterprise business applications. HTML5 was still f
important component of the decision to use a framework should be the amount of ceremony and ritual involved. You must carefully weigh what it takes to ramp up on the technology and how common tasks are performed. It does no good to adopt a library that forces you to solve a problem with more effort than it would take using your basic tools. One of my favorite examples to showcase technology is a simple feed reader. Several years ago I recorded a video to demonstrate how to build a Silverlight MVVM Feed Reader from Scratch in 30 Minutes. It opened a lot of eyes for people who thought MVVM was overcomplicated.