React vs. Angular components

As an IT consultant I have the opportunity to experiment with different libraries and frameworks. Every time I should solve a particular (architectural) problem, I start thinking what kind of tools I know and how they could help me in that particular situation. I have had great experience both with Angular and React for building dynamic front-end application. In this series of posts I want to do a simple comparison between them in terms of how they help developers define and use components. Please note that I am not going to draw a conclusion about which of them is better. I really do think that both have their strong sides, so it is a matter of approach (and preference sometimes) which one you would use. Continue Reading…

From MVC towards components

The nature of HTTP is to provide resources where each resource is identified by a unique URL. A resource can be any kind of file: image, text file, font. Initially web sites used to deliver static HTML pages, which were pretty much limited in terms of content. CGI and server-side scripting languages like PHP, ASP(.NET), and JSP changed this by generating dynamic HTML on the server and sending it back to the client. This allowed the page content to be “configured” by the browser, f.x. using query string. This traditional web architecture is denoted on the diagram below.

Traditional web architecture

It all worked fine until the Web became more complex and developers started to put more and more logic on the server. We ended up having to make requests like /index.php?module=employees&id=5 (especially with some CMS systems). This architecture tended eventually to cause many problems, from search-engine optimization to code maintenance. Continue Reading…

Application Architecture Guide v2 – Free eBook

Microsoft Application Architecture Guide, 2nd Edition is a Must Have eBook for Developers and Solution Architects. The guide is intended to help developers and solution architects design and build effective, high quality applications using the Microsoft platform and the .NET Framework more quickly and with less risk. It provides guidance for using architecture principles, design principles, and patterns that are tried and trusted. The guidance is presented in sections that correspond to major architecture and design focus points. It is designed to be used as a reference resource or to be read from beginning to end.

The guide helps you to:

  • Understand the underlying architecture and design principles and patterns for developing successful solutions on the Microsoft platform and the .NET Framework.
  • Identify appropriate strategies and design patterns that will help you design your solution’s layers, components, and services.
  • Identify and address the key engineering decision points for your solution.
  • Identify and address the key quality attributes and crosscutting concerns for your solution.
  • Create a candidate baseline architecture for your solution.
  • Choose the right technologies for your solution.
  • Identify patterns & practices solution assets and further guidance that will help you to implement your solution.