Windows Phone 7 is really great opportunity for Companies and Developer to Provide best interactive Application with Metro User Experiences. The Windows Phone 7 mango Application with on premise Server and Applications, services and Application that runs on cloud with great support windows Azure Platform. Developer can build high Scalable , Rapid, standardized , reliable and powerful and hug applications that extends Functionality beyond. More Portable and accessible environment.
To build high level of applications for enterprise and consumer basic needs for Companies.
Strong UI and UX
Hug and Standards Application Development Platform
SOP,XML and other API Support
Easy and Separate Development Tools (designing, development ,testing)
Modular base development model.
Independence for Development Teams for Modular base Developing environment.
Microsoft Provide Widodws Phone with Complete solution for Application Development
XNA for Gaming Development with XNA and C# support.
Silverlight Rich User experiences and separate designing and development tools
Need standard and modular based approach. Microsoft Windows Phone Application Development Platform Silverlight. Allows you to code and design you application separately by using MVVM pattern.
For Modular Approach base development you need to development model separately and also with few framework dependency. So the solution is PRISM.
The signed Prism Library for Windows Phone 7 includes a subset of the Prism and Prism.Interaction library targeted to Windows Phone 7. This includes the Prism event aggregator, commands, view model, and interaction request. For information about using the Prism Phone Library, see the Windows Phone 7 Developer Guide community site athttp://wp7guide.codeplex.com/.
The guidance is designed to help architects and developers achieve the following objectives:
· Create an application from modules that can be built, assembled, and, optionally, deployed by independent teams using WPF or Silverlight.
· Minimize cross-team dependencies and allow teams to specialize in different areas, such as user interface (UI) design, business logic implementation, and infrastructure code development.
· Use an architecture that promotes reusability across independent teams.
· Increase the quality of applications by abstracting common services that are available to all the teams.
· Incrementally integrate new capabilities.
Application Development Challenges
1) Client application Requirement can be Change any time.
2) Customer Feedback during ADC(Application Development cycle) affect scope of Application.
3) It is very Important to build application in that manner where it can more flexible and can be easily update , modified and extended over the time.
4) Required great architecture to develop and manage this kind of flexible design. Which allows individual part of the application to be independently developed , design and test. Without effecting on rest of application.
5) Now today Application requirement are very much complex to development specially for enterprise which required more than developer or teams.
Teams for Development.
UI and UX designers.
One of the Biggest Challenge to designs application which can be used by multiple developers and teams for work simultaneously.
Develop application in pieces for multiple developer. and each can be developed independently. And ensure that the all pieces come together seamlessly and integrate into Application.
Most enterprise applications are sufficiently complex that they require more than one developer, maybe even a large
Designing and building applications in a monolithic style can lead to an application that is very difficult and inefficient to maintain. In this case, "monolithic" refers to an application in which the components are very tightly coupled and there is no clear separation between them. Typically, applications designed and built this way suffer from problemsthat make the developer's life hard. It is difficult to add new features to the system or replace existing features, it is difficult to resolve bugs without breaking other portions of the system, and it is difficult to test and deploy. Also, it impacts the ability of developers and designers to work efficiently together.
The Composite Approach
An effective remedy for these challenges is to partition the application into a number of discrete, loosely coupled,
semi-independent components that can then be easily integrated together into an application "shell" to form a
coherent solution. Applications designed and built this way are often known as composite applications.
Composite applications provide many benefits, including the following:
They allow modules to be individually developed, tested, and deployed by different individuals or subteams; they
also allow them to be modified or extended with new functionality more easily, thereby allowing the application
to be more easily extended and maintained. Note that even single-person projects experience benefits in
creating more testable and maintainable applications using the composite approach.
Now that you've seen the major capabilities and design patterns that Prism supports, it's time to see how easily you can start to use Prism when developing a new application. This section provides an overview of the first few steps required to create a basic Prism application. You can extend this basic application to leverage the additional capabilities and design patterns provided by Prism, as required by your scenario.
A typical Prism application leverages most or all of the Prism capabilities and design patterns described earlier to be able to fully realize the benefits of the loose coupling and separation of concerns architectural design principles. However, for this example, the steps required to create a basic Prism application that consists of a single module that defines a single view are described.
Prism guidance includes completely rewritten documentation with the addition of new topics such as Model-View-ViewModel (MVVM), Managed Extensibility Framework (MEF), and application navigation.
The code assets include reusable library code (named the Prism Library), two reference implementations, QuickStart tutorials, and hands-on labs. The Prism Library is delivered as Microsoft signed assemblies and source code.
Important Prism Compound
Important Prism Compound
Define the Shell
§ Developer's Guide to Microsoft Prism (on MSDN)
§ Prism 4 Documentation (includes a PDF format)
NEXT PART how can you use SharePOint with WP7