15 11, 2013

AngularJS Architecture, Part 2: Understanding Modules

By |November 15th, 2013|App Fashion|0 Comments|

Last time, we looked at the application bootstrap process, directives, and touched the surface of scope in Angularjs. This time we’re going to take a higher-level view at Angularjs and study its implementation of design patterns for building scalable web applications. We’ll begin with a look at the AngularJS module API.
As you have probably figured out by now, Angularjs has quite a few tricks up its sleeve that make it a unique and different kind of framework to work with. It draws architectural principles and design patterns from native application programming languages and applies them to Javascript. Of course, this is still Javascript we’re talking about, so the implementation of such patterns sometimes require a bit of creativity. For example, to accomplish object instantiation, instead of having a constructor method like you would see in a native language class, Angularjs uses modules to declaratively describe how an application should be instantiated and bootstrapped. A module configures the Injector by specifying the services, directives, filters, and any other configuration information for the application at runtime. Here is the method signature:

angular.module(‘name’, [requires], configFunction);
Why use [...]

13 11, 2013

Angularjs Architectural Analysis, Part 1: The Application Bootstrap Process

By |November 13th, 2013|App Fashion|0 Comments|

I’ve been working with a lot of different platforms lately, namely: iOS, Java for Android, Rails, and a vast array of Javascript frameworks, particularly Angularjs, Node.js, Express.js, Backbone.js, d3.js, Ext.js, and Sencha Touch for mobile among others. As I said in my last post, I’ve taken a huge liking to Angular.js and I really think that from an architectural standpoint, Angular.js is hands-down the best framework I’ve seen to date for Javascript. The level of flexibility and customization it makes available to you is second to none. It is for this reason that I’ve decided to do a series of posts about the framework, including some tutorials that should get you on your way to becoming an Angular.js ninja in no time.

My objective with these first couple of posts is to provide a foundation for the tutorials that I will be bringing you by explaining the most important facets of Angularjs that you’ll need to know in order to follow along and understand what is going on behind the scenes. I will also provide visual illustrations to demonstrate some of the concepts involved with [...]

26 10, 2013

Adventures In Mobile Development

By |October 26th, 2013|App Fashion, News & Stuff|0 Comments|

I’ve been conducting a great deal of research lately on the mobile development ecosystem in an effort to bring my knowledge and developer skills up to date. I had always been good with Javascript, and I followed the evolution of the iOS and Android SDKs as they came into being, learning enough to get by, and at one point I even wrote an article for IBM developerWorks about a year ago on Multi-Platform Mobile Development for the Cloud. I hadn’t settled in with a particular technology yet though because the environment was changing so rapidly and I didn’t want to pigeon-hole myself into becoming an expert with one technology like I did with the Flex framework, which ended up really biting me in the ass.

Finally it occurred to me that it wasn’t about picking a platform that would be around for a while anymore and learning everything there is to know about that technology. Now its about being versatile enough to learn them ALL. I truly believe that the best developers now, are those that are the most versatile in their craft that they [...]

6 05, 2011

360|Flex Presentation Posted – Optimizing Workflows with Flash Builder 4.5 and Flash Catalyst CS5.5

By |May 6th, 2011|News & Stuff|1 Comment|

My apologies that it took so long to get this up, but I’ve finally posted the slides from my presentation with Adnaan Ahmad on behalf of Anaara Media. The full-length video presentation of the session will be available very soon on Zaa.tv, along with all of the other incredibly fascinating sessions from 360|Flex 2011.

Originally this session was supposed to be on how to optimize the designer-developer workflow in the enterprise using Flash Builder 4 and Flash Catalyst CS5. However, Adobe surprised us the first day at their keynote when they announced the release of iterative versions of both Flash Builder and Creative Suite. As a result, Adnaan and I scrambled for the next day or two to update our presentation accordingly. We didn’t really have to do that, but of course we didn’t want to seem like we were behind the times.

Nonetheless, when I upgraded to 4.5 and CS5.5, I ran into some compatibility issues because we had used the “Burrito” and “Panini” pre-release versions of Flash Builder and Flash Catalyst respectively to build the product we were demoing in our session, so I [...]

  • catalyst_tut_header-799x336
    Permalink Gallery

    Optimizing Workflows with Flash Catalyst CS5 in Flash Magazine

6 04, 2011

Optimizing Workflows with Flash Catalyst CS5 in Flash Magazine

By |April 6th, 2011|Articles|0 Comments|

I recently wrote an article for Adobe titled “Optimizing Workflow with Flash Catalyst CS5″, which was recently published at FlashMagazine.com. The focus of the write-up is to assist designers, developers, and project managers fine-tune the application development life cycle when using Flash Builder and Flash Catalyst CS5. There’s a lot of really good pointers in it, so its definitely worth a look.

I’m also going to be doing a talk on the subject with my colleague Adnaan Ahmad from Anaara Media at this upcoming 360|Flex in Denver from April 10 – 13, so be sure to check it out because it is going to be full of fun surprises!!!

Here’s the link to the article:

Optimizing workflow with Flash Catalyst CS5

8 02, 2011

Cloud Computing series just released on IBM developerWorks

By |February 8th, 2011|Articles, Cloud Hacks, News & Stuff|0 Comments|

As I mentioned in my last post, I recently wrote a series of articles called “Cloud computing service models” for IBM developerWorks. Each of the articles focuses on one of the three major classifications of cloud computing, namely: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The objective of the series is to help educate people on cloud computing and understand the difference between the three types. Other topics of interest in the series include: what to look for in a service provider and how to protect yourself and your company from vendor lock-in. Here are the links to the articles:

Cloud computing service models (links to all 3 articles)

Cloud computing service models, Part 1: Infrastructure as a service

Cloud computing service models, Part 2: Platform as a service

Cloud computing service models, Part 3: Software as a service

27 01, 2011

Cloud Computing: Choosing a Provider for Platform as a Service (PaaS)

By |January 27th, 2011|Cloud Hacks|2 Comments|

I recently wrote a series of articles that will be published next month on the topic of cloud computing, and there was one thing that really stood out about the current state of cloud computing. A few years ago, cloud computing was mostly an abstract concept with varying definitions depending on who you asked. Things have changed though. It is evident that a large portion of the Information Technology and business sectors have gotten better at understanding cloud computing. However, when cloud computing is broken down into the three classifications of cloud computing, namely: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), most people find it very hard to understand the difference.

The most prevalent confusion seems to be with Platform as a Service. I’ve experienced IT professionals confusing Platform as a Service with Infrastructure as a Service so many times in the last few months that I lost track. The articles I wrote go into great detail on these classifications and their differences as a result of this, and I will post links to them here [...]

10 11, 2010

Flex 4 In Action book released!

By |November 10th, 2010|News & Stuff|1 Comment|

Although its been a hectic year, it has definitely been one of many new and interesting experiences. Some of you may know about the book I’ve spent the last 2 years working on with my esteemed colleagues: Tariq Ahmed, John C. Bland II, and Joel Hooks – titled Flex 4 In Action (Manning Press). Well, I’m very proud to say that the book was officially released today! And the nice people over at Manning Press are offering the book today at HALF PRICE, if you enter the code: dotd1110 in the promotional code box when you check out!

This is a 640-pager that includes some great content that you won’t find anywhere else, including an entire chapter dedicated to architectural design with Flex 4 that Joel Hooks and I wrote together. Since I’m really big into building enterprise-grade Flex and AIR applications, that chapter is my favorite, mainly because of the full-blown rundown on Robotlegs that Joel Hooks gives you.

Additionally, if you’ve run into difficulty understanding the difference between the component architecture from Flex 3 to Flex 4, and all of the great features [...]

22 03, 2010

Inside Scoop: Adobe Flex 4 and Flash Builder 4 official release

By |March 22nd, 2010|News & Stuff|5 Comments|

Well, the time so many of us have been eagerly awaiting for the last two years has arrived, and its no surprise that the twitter-verse, facebook-verse, linkedin-verse, and other social media universes are buzzing quite loudly with the news already, before it even had a chance to hit the tabloids (no surprise there). I’m sure there are many Flex developers wondering:

What can I expect to see in this new release?

Is it a lot different from the public beta 2 that was on Adobe Labs for Max?

There’s a lot to cover, but here is the start to what will likely be a lot of upcoming posts…

One of the most significant things to take place after the beta 2 was the porting of the rest of the Flex 3 components (with the exception of DataGrid, AdvancedDataGrid, and OLAPDataGrid) to the Spark library, complete with the wonderful new Spark architecture, which adds a huge amount of scalability by separating the display logic from the encapsulated functionality of the component. Personally, that is one of the things I’m most excited about.

Additionally, code hinting and [...]

14 03, 2010

Second Generation Micro-architectures, Part 1: The Swiz Framework

By |March 14th, 2010|Code Sculptures|4 Comments|

Second Generation Micro-architectures
One of the primary reasons we have microarchitectures and design patterns in the first place is to maximize simplicity in application code. The problem is that not every architect understands this. Often we find architectures and design patterns being used in ways that do nothing more than increase complexity, which is counter-intuitive. This is why it is important to understand the framework that you are working with before you begin development on a production project that uses it, and Swiz is no exception.

A common characteristic among second-generation micro-architectures is that they are built to empower the developer, rather than over-power. One thing that all of these second-generation microarchitectures have in common, is that they use some form of Inversion of Control (IoC) and Dependency Injection, as defined by the great Martin Fowler in his book Patterns of Enterprise Application Architecture (Addison Wesley, 2002). With that in mind, you will first learn a bit about how these design patterns work from a conceptual standpoint before you get your hands dirty.
A Quick Background on Inversion of Control & Dependency Injection
Generally speaking, [...]