Comparing ASP.NET to CMS Options and Other Web Dev Technologies

Comparing ASP.NET to CMS Options and Other Web Dev Technologies

Most students of coding languages will tell you that C# is one of their favorites because the code is more precise and seems a bit easier to learn as compared to Java for instance. The biggest reason that C# has become such a popular programming language is because it is part of ASP.NET, which is a maturing model view controller (MVC) development platform known as Visual Studio.

Visual Studio is an integrated development environment (IDE) that allows you to create and compile ASP.NET applications for Windows, web sites, web services, web applications and mobile applications. 

Why would you choose ASP.NET over a CMS?

This topic is widely discussed among developers and in the end it boils down to purpose and what you are most familiar with. Each project that you work on as a developer will have different circumstances. There are large and well-known companies taking both approaches and each of these development environments comes with their pluses and minuses.

For large Enterprise applications ASP.NET drastically reduces the length of the code that must be written to do the same thing in other programming languages like Java. Unlike CMS models like WordPress, ASP.NET takes advantage of the Windows authentication and security features. WordPress requires a plug-in and lots of extra authentication configuration and extra configuration for security. With a CMS deployment often relies on your hosting environment and features provided there whereas the Visual Studio provides a WYSIWYG environment that features drag-and-drop server controls. ASP.NET code executes and delivers from the server rather than in the browser and the processes are managed and monitored by the runtime allowing your application to handle multiple requests with ease.

I once worked on a large ASP.NET application that ran extremely slowly when a heavier user load was applied. It turned out to be such an issue that the company chose to abandon the platform and go with a completely different technology instead. But that was 5 or more years ago and the modern versions of ASP.NET integrates with ADO.NET and advertises true scalable Enterprise platform capabilities. Many large companies have since adopted ASP.NET for their Enterprise web architecture; JCPenney, Costco, Bing, Bestbuy, Dell and Lego, just to name a few.

Why would you choose CMS over ASP.NET?

One of the biggest arguments against ASP.NET is that your websites have to be deployed on a Windows Server which can be expensive. Most CMS platforms run on a LAMP stack server which is Linux-based, open source and free. Another argument against ASP.NET is development time. A CMS comes with many features and modules already built. And since CMS platforms are more popular there are a large number of developers that continue to work on plug-ins and modules to add emerging web technologies and features to existing CMS platforms.

The options for choosing a content management system (CMS) keep growing as developers compile new ones and some are even based on ASP.NET technologies. The benefits of a CMS can include features such as built-in authentication and security, rich toolbox features that can easily be added to any application, easy deployment, a wide array of plug-ins to add features, compatibility and access to API’s and most of all, the ability for non-programmers to deploy content on their own.

The last reason is one of the strongest reasons for choosing a CMS over ASP.NET. If you are developing a web application for a company that is hoping to produce and publish their own content without the help of a developer then a CMS is the best way to go. You can build your own custom CMS with ASP.NET but with so many CMS options already built, and some very mature with content-rich features, why would you reinvent the wheel unless of course, your online product is completely unique to anything that has already been done.

For most companies the perfect out-of-the-box CMS will include built-in features and plug-ins that will save many hours of development time and debugging as compared to starting from scratch in ASP.NET. Where extreme customization and versatility in regards to integrating multiple programming languages for extended features, ASP.NET is a more flexible environment.

What are the most popular content management systems and why?

The list of major CMS platforms is long and growing every day. Here are some of the most popular;

·        WordPress

·        Drupal

·        Umbraco

·        Google Sites

·        Expression Engine

·        Joomla

·        SilverStripe

·        TextPattern

·        RefineryCMS

·        Jekyll

·        Ghost

·        ModX

·        Concrete5

As to which is the most popular, it really depends who you ask. Everyone seems to be in agreement that WordPress has the biggest market share however you will find articles that claim WordPress only holds 30% of the website market while other sites report it’s above 60% but whichever article you read, WordPress is the clear winner. 

Drupal was widely adopted and developed by the U.S. government and being so it is one of the most secure CMS platforms with lots of built-in authentication features and great performance and scalability with very large databases and asset inventories. Drupal is even used by the Library of Congress for quick retrieval and storage of government documentation of all kinds.

In addition to the LOC there are many other large agencies and companies using Drupal; Twitter, The White House, NBC, Harvard, Tesla, and Mercedes-Benz, to name a few.

You can load tons of users, images and documents with no degradation of performance and little regard for optimization and still find your website performance remains high. Because of its security features it is less often a target for hackers than other CMS platforms although admittedly this is also due to the fact that it has a much smaller market share than WordPress. And that brings us to a discussion about WordPress as a platform for Enterprise web applications.

Why do so many companies choose WordPress for their CMS?

There are many large companies running their Enterprise websites on WordPress; PlayStation, BBC America, TechCrunch, MTV Network, Sony, Bloomberg, Disney, the New Yorker, and the Microsoft News Center, to name a few. I am guessing that the Microsoft News Center will likely migrate to something like Umbraco in the near future. It seems ironic that they wouldn’t require all of their own companies to be on an ASP.NET platform as a regular business practice.

Since WordPress has become so widely popular there are hundreds of thousands of developers continually creating plug-ins to automate all sorts of tedious tasks and there is a plethora of pre-packaged WordPress templates that can allow you to get a website up and running in days. Depending on the template you choose, WordPress makes it much easier for non-developers to post new content. With the Woo-Commerce plug-in and others, e-commerce is also simple. As companies roll-out new products it is easy for non-programmers to upload new products to an existing web page or edit existing products as specifications change. 

Likewise, new pages can be created on the fly with easy WYSIWYG editors and drag-and-drop interfaces. A company only needs to hire a programmer when they want to make changes to an existing template or add new website functionality. Still, it isn’t as easy as it sounds.

What are the drawbacks of WordPress?

While WordPress is the most popular CMS there are drawbacks and other considerations. For one thing it is the most popular and therefore more often a target for hackers. In developing a virus, trojan, worm or considering a cyber attack, WordPress gets hackers more bang for the buck.

In general the modern versions of WordPress now feature almost as many security features as Drupal but since it is more likely to be targeted these vulnerabilities are a consideration for Enterprise applications. These can be conquered with available plug-ins however, making WordPress as secure as any of the other CMS platforms such as Drupal. And even though WordPress also features built-in authentication controls, these are not greatly customizable. If you have a complex variety of editors and administrators then a plug-in will likely need to be customized and configured for your WordPress application.  

Site speed with WordPress can become a problem in large applications if rigid optimization best practices are not followed. All assets such as video and images must be optimized before deployment and should never be directly loaded into the WordPress database. A content delivery network (CDN) is a must have with any mid-to-large size WordPress website.  

A complaint about CMS platforms in general is the claim that websites look too similar with pre-constructed template designs. With hundreds of thousands of templates to choose from however, plus the fact that WordPress allows you to build your own custom template, that argument is easily dispelled. If your WordPress site looks similar to many other sites then you simply haven’t configured it wisely. Most WordPress templates can be customized with drag-and-drop features that allow you to change the size and location of most page elements. 

What is the benefit of C# in the ASP.NET environment?

The nice part about ASP.NET is that it uses a model view controller (MVC) architecture. This greatly segregates your site code into three distinct buckets; the model (your database - what the user requests and often edits), the view (what the user sees on the front-end of a web page), and the controller (the code that changes/edits the model/database). Separating this code makes it easier for large teams to collaborate. One developer team can concentrate on the user experience (UX) and the user interface (UI) while other teams can add and develop the database and likewise the functions to serve up and to edit that data. 

While many programming languages can be integrated into an ASP.NET application, C# has become widely popular because it is less complex than some of the other programming languages and can allow you to create functions in less code than other languages such as Java. In a textbook definition, C# is a type-safe, managed and object oriented language, which is compiled by .Net framework for generating intermediate language (IL). Being an object oriented language C# embraces the 3 pillars of object oriented programming; C# supports the concepts of encapsulation, inheritance, and polymorphism.  

C# shares many similarities with C++ and developers coming from a desktop environment have an easier time with the syntax and principles than another language such as Python, Java or PHP. It doesn’t make C# any better than any of the other programming languages (Python is actually easier to learn and more readable than C#) but Microsoft’s adoption for Visual Studio also has a lot to do with the success of C#.

I hope I have given you an idea of the differences between ASP.NET technology and a CMS for web development. Stay tuned for more posts that discuss the various web languages specifically and in better detail.

Read some of my other articles;


要查看或添加评论,请登录

Daniel J. LeBlanc的更多文章

社区洞察

其他会员也浏览了