DevForce provides a number of project templates to help you get started developing your DevForce application. These templates enhance standard Visual Studio templates to add DevForce-specific assembly references and other files. We'll review the templates available to help you choose the DevForce project template that's right for your project.
We walked through the output of two solutions in an earlier topic. There are many other template choices as seen in this screen shot:
DevForce tutorial videos and sample application are good places to learn about these templates in detail. A brief description of each template follows.
The Silverlight Application Template generates a bare bones solution consisting of two projects: a Silverlight application project and a web application project. Both projects are configured with the essential DevForce references. The application itself simply presents a blank page with the words "Hello DevForce!". It's a clean slate.
This is an n-tier application because Silverlight applications must be multi-tier (there are no 2-tier Silverlight applications).
This template is used in the simplest DevForce tutorials in which you will often see the DevForce entity model added to the web application solution. A separate model project is generally preferred.
The Tour of DevForce Silverlight walks you through an example using this template.
The Silverlight Business Application Template (aka, the BAT) adopts a "pages" metaphor in which the user moves between screen "pages" by clicking on links presented at the top of a shell. The DevForce BookShelf sample application is a good example of this template.
An application built with this template relies upon Silverlight's navigation framework to switch among pages. This screenshot illustrates the visual structure.
The DevForce BAT comes in five flavors, all of them structurally and functionally the same but differing in their themes. The "Cosmopolitan Theme", shown above, is similar to the "Metro" theme that is favored by Microsoft UI developers in 2011.
The BAT is the DevForce equivalent of the RIA Services Business Application Template. The primary difference is that the ASP.NET authentication sample code uses DevForce instead of RIA Services to present and support login and registration:
The BAT is a two project solution: one Silverlight application project, one web application project.
Template walk-throughs tend to show the developer adding the entity model to the web application project. Over time, most developers break the entity model out into a separate model project.
This template produces a 2-tier solution with a single project targeting Windows Forms technology. The essential elements are in place although all you'll see is an empty Form1 if you build and run. You could add an Entity Framework model to it, use a synchronous query to get some entities, and throw them onto the form in a DataGridView.
A separate model project is generally preferred.
This 3-tier version of the 2-tier WinForms adds a web application project to host the EntityServer. The Form1 is no more revealing but the basics are in place to deploy a server project separately from the Windows Forms client and have the latter pull entities over the wire either synchronously or asynchronously.
This template produces a 2-tier solution with a single project targeting Windows Presentation Foundation (WPF) technology. The essential elements are in place although all you'll see, if you build and run it, is an empty MainWindow. You could add an Entity Framework model to it, use a synchronous query to get some entities, and throw them onto the form in a grid.
A separate model project is generally preferred.
The Tour of DevForce WPF walks you through an example using this template.
This 3-tier version of the 2-tier WPF adds a web application project to host the EntityServer. The MainWindow is no more revealing but the basics are in place to deploy a server project separately from the WPF client and have the latter pull entities over the wire either synchronously or asynchronously.
This project template creates only a web application project to host the EntityServer. You might use it to turn one of your 2-tier solutions into an n-tier application.
This project template creates only a web application project to host the EntityServer, but with advanced configuration options. This template will generate a web application project with WCF service files for the EntityService and EntityServer services, along with a web.config file containing full system.serviceModel configuration of these services.
This template should only be used if you understand WCF and have a specific need for the advanced configuration features. See the "Configure and deploy" topic for more information.