Global Office Directory
More Products
Share this page
Home > Community > Technical Blogs > John West Sitecore Blog > Sitecore Differentiating Factors Blog Series: Development Environment
I think that the environment that Sitecore provides for CMS and Web developers differentiates Sitecore from competing web CMS platforms. This blog post about the Sitecore development environment is part of a series about Sitecore Differentiating Factors. Other posts in this series, such as The Layout Engine, The Security Model, and Extensibility, describe some aspects of the product that make Sitecore particularly appealing to developers.
Developers appreciate Sitecore’s consistent and extensive .NET API. Even developers who prefer XSL renderings appreciate .NET extensions to XSL. You only need to know about a few Sitecore namespaces to achieve a great deal of functionality, and you can easily learn as you go. You can apply existing expertise in ASP.NET, but Sitecore is also a great environment for learning ASP.NET and even XSL. Sitecore’s APIs are open, with mostly unsealed public classes and interfaces. You can access Sitecore APIs using any language supported by the .NET framework, and you can wrap Sitecore API calls in web services. For more information about specific Sitecore APIs, see the Content API Cookbook, the Presentation Component API Cookbook, the Security API Cookbook, the Data Definition API Cookbook, and the entire API reference.
One of the factors that differentiate Sitecore from other web CMS solutions is its abstraction of databases as hierarchical information architectures. Excluding security, transactional, and other data stored in systems integrated with the CMS, most websites have a hierarchical information architecture with some relational data, which lends itself to Sitecore implementation. Each item in the information architecture consists of a number of field values, which can contain text, XML subdocuments, relational references, or any other type of data.
There is a learning curve for programming customizations to the Sitecore CMS, especially the user interface. Once you understand a few things, the capabilities and productivity for CMS customizations can be impressive, and you realize the value of Sitecore’s approach. As mentioned in the previous post about extensibility, you can easily embed custom applications that look exactly like Sitecore itself. Building a managed website is a great introduction to extending Sitecore because you generally use many of the same APIs to develop CMS applications.
Sitecore provides various convenience features for developers. Sitecore assigns a GUID to every item, and references items by GUID rather than by path. Sitecore Mouse and Keyboard Shortcuts lists a number of shortcuts, including instructions to enable the Developer tab.
The Sitecore Rocks extension to Microsoft Visual Studio is another example of Sitecore's commitment to facilitating developers. With Sitecore Rocks, from within Visual Studio, you can navigate Sitecore databases, edit multiple items concurrently, view the Sitecore logs, example running tasks, and otherwise avoid the browser-based CMS user interfaces. Check out the Sitecore Rocks Sitecore Developer Network forum and video overview with Sitecore's very own Lars Fløe Nielsen. You can use Sitecore Rocks with the invaluable Team Development for Sitecore extension from Hedgehog Development. Additional tools I promote for use with Sitecore include Red Gate's Reflector and Reflector Pro (see my blog post Reflecting on Sitecore), JetBrains ReSharper, Microsoft StyleCop, StyleCop for Resharper, Agent Smith, and Agent Johnson.
Sitecore also provides excellent support. Additionally, thousands active members participate in forums on the Sitecore Developer Network (SDN), consisting of almost 30,000 posts as of September 2010.
Next in the Sitecore Differentiating Factors blog series: Architecture, Performance and Scalabilty.
Tags: API, Architecture, Community
John has over ten years of experience in the CMS industry. His areas of focus include the Sitecore community, Web industry research, Sitecore technical documentation, and product management.
This website is designed to be fully functional with scripts disabled in browser. Please contact the webmaster for any suggestions