Vodafone Re-launches 15 Dollar Phone for Developing Countries Vodafone is tapping emerging markets and developing markets with two...
deCarta Location-enables Opera Browsers Location-enabled services have shown dramatic growth in the past twelve...
MSI Intros SUSE Moblin Powered Netbook MSI has become the first original equipment manufacturer to sell a...
Boost Game Performance With Threads This white paper explains how to use functional decomposition to get better...
Hot and Safe: a Beginner's Guide to Multithreaded Libraries Most of the discussion of multithreading that emerges from Cilk Arts is...
8 Simple Rules for Designing Threaded Applications Multithreaded programming is still more art than science. This white paper...
EXCLUSIVES
Can Struts, Spring, jQuery or Seams Dislodge 2009 Winner Microsoft .NET?

After its conception at the end of the 1980s, object-oriented frameworks have attracted attention from many researchers and software engineers. Frameworks have been defined for a large variety of domains. In addition to the intuitive appeal of the framework concept and its simplicity from an abstract perspective, experience has shown that framework projects contribute to increased reusability and decreased development effort.
Software systems can be among the most complex constructions. As an example, it is believed that Microsoft’s Vista operating system contains over 50 million lines of code. Although most software systems are not of this size, complexity of software development can be quick to increase if they aren’t subjected to regular checks. Fortunately, several methods have been developed to make construction of large systems easier. Among these methods, the most important are the use of design patterns and frameworks.
The basic idea of frameworks is to place all common and reusable functionality in specific classes that can be reused for specific applications. The key here is to know the concerns the components being built. This is perhaps the most complex aspect when it comes to software development. Let’s take a shopping solution as an example. In this solution a web page will display product information which it retrieves from a database. There are several different points of focus within this simple task. When reading from the database the focus stays on data query. Filtering and processing the retrieved results depends on business logic, and when displaying the result is all about visual appeal. It is very likely all these tasks will be performed by a single programmer. Therefore, the programmer needs to jump from one area of focus to the next in quick succession and this can be difficult. It is also likely that the developer will make each focus dependent and highly customized to this particular application thereby reducing code reusability.
By creating frameworks, each of the above concerns is solved with reusability in mind. With regards to the example above a framework for retrieving data is created. In such a framework, data access is the only concern. For this, the developer is only concerned with data and is not concerned with particular type of data or specific product information. All components of the application can use the data framework.
Therefore, a framework can be defined as a partial design and implementation for an application in a given domain. So in a sense a framework is an incomplete system. This system can be tailored to create complete applications. Frameworks are generally used and developed when several (partly) similar applications are to be developed.
Frameworks Winner at Great Indian Developer Awards 2008: Siddharth Kapoor, Manager - Developer Audience Marketing, Microsoft India, accepting the award on behalf of the .NET Framework team
A framework implements the commonalities between those applications. Thus, a framework reduces the effort needed to build applications. We use the term framework instantiation to indicate the process of creating an application from a specific framework. The resulting application is called a framework instance.
Frameworks can probably be grouped into three broad categories:
- Application frameworks: application frameworks aim to provide a full range of functionality typically needed in an application. This functionality usually involves things like a GUI, documents, databases, etc. An example of an application framework is MFC (Microsoft Foundation Classes). Another application framework is JFC (Java Foundation Classes). The latter is interesting from an object oriented design point of view.
- Domain frameworks: these frameworks can be helpful to implement programs for a certain domain. The term domain framework is used to denote frameworks for specific domains. An example of a domain is banking or alarm systems. Domain specific software usually has to be tailored for a company or developed from scratch. Frameworks can help reduce the amount of work that needs to be done to implement such applications. This allows companies to make higher quality software for their domain while reducing the time to market.
- Support frameworks: support frameworks typically address very specific, computer related domains such as memory management or file systems. Support for these kinds of domains is necessary to simplify program development. Support frameworks are typically used in conjunction with domain and/or application frameworks.
Frameworks Winner at Great Indian Developer Awards 2009: Adobe representative collects the award on behalf of the Adobe Flex Builder team
Saltmarch Media's annual Great Indian Developer Awards honors software products across 12 categories, based on their productivity, innovation excellence, universal usefulness, simplicity, functionality and most importantly on the ground feedback from India’s software developer ecosystem. In the Frameworks category, the final shortlist consists of Apache Struts, Spring Framework, jQuery, Microsoft .NET Framework 3.5 and JBoss Seams. Microsoft .NET was the first product to win in this category in 2008 followed by Adobe Flex Builder in the 2009 chapter of the same awards.
Saltmarch Media's annual Great Indian Developer Awards honors software products across 12 categories, based on their productivity, innovation excellence, universal usefulness, simplicity, functionality and most importantly on the ground feedback from India’s software developer ecosystem. In the Frameworks category, the final shortlist consists of Apache Struts, Spring Framework, jQuery, Microsoft .NET Framework 3.5 and JBoss Seams. Microsoft .NET was the first product to win in this category in 2008 followed by Adobe Flex Builder in the 2009 chapter of the same awards.
If there is a particular framework that you personally endorse to your colleagues or you evangelize about them at the first opportunity you get, here is your chance to vote for it (voting closes April 10 2010) and see it win this prestigious award. Who knows? You could win along with it too. At the end of the voting process, a lucky draw will be conducted and one person will receive a surprise gift from our prize sponsor. So visit the 2010 Great Indian Developer Awards website and cast your vote. It counts!
Picking the Right Technology for Enterprise RIA We are entering an era of Rich Internet Applications (RIA), and many enterprise development managers are facing the dilemma - which way to go - remain with tried and true Java or .NET or...



Please wait...