DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Coding
  3. Frameworks
  4. Jounce, MVVM, WCF, RIA, Printing and more

Jounce, MVVM, WCF, RIA, Printing and more

Jeremy Likness user avatar by
Jeremy Likness
·
Mar. 23, 12 · Interview
Like (0)
Save
Tweet
Share
4.27K Views

Join the DZone community and get the full member experience.

Join For Free

i finally managed to update and upload my to-do list reference application . this is a silverlight 5 application based on my jounce framework that demonstrates a number of different features. i built it as part of my book, designing silverlight business applications . there are several chapters devoted specifically to the construction of this example application. it is a demonstration application, so while it contains a lot of different components designed to illustrate various points, it's not intended to be a "production application." i won't even call it an "enterprise application" because it falls far short of what you might typically build for the enterprise, but this one has a lot more code than your typical two-page blog post program.

specifically, it demonstrates the following concepts:

  • the jounce framework (of course)
  • the mvvm pattern
  • using a shared view model to display non-shared data (this is a common misconception, that if you edit five records you need five instances of the same view model)
  • jounce-specific navigation and parameter-passing
  • use of the visual state manager (vsm)
  • design-time support
  • the managed extensibility framework
  • theme management (i.e. storing a theme in a separate project and referencing it)
  • wcf ria services
  • mapping (auto-mapping properties from one entity to another)
  • event aggregator messaging
  • repository pattern
  • the sterling nosql database (the example uses both a server-side and client-side instance)
  • synchronization between the client and server when the client is offline
  • p/invoke
  • concurrency management
  • offline out-of-browser (oob) including ui for installation and removal
  • use of behaviors
  • extensions for fluent interfaces
  • region management
  • validation
  • printing
  • localization (version "as is" has spanish text substituted in the edit dialog)
  • com interop (exports items to excel)
  • html dom interaction (application works with javascript to warn the user if they edit a record and try to navigate in the browser) and updates the title whether in browser or oob mode)
  • tracking dirty records using the entity view model
  • filtering and sorting
  • touch interaction using the lighttouch library
  • out-of-browser child windows
  • toast notifications
  • testing

i'm sure there are some items i left out. i hope this helps answer a lot of questions i receive and i also hope it is taken as guidance and an example, not a "final architecture" or production-ready module as again, the key intent is to provide examples of a lot of different features. there is only one thing i ask: that if you have questions about the application, you first invest in the book and ask me only if you don't find your answers there. jounce is an open source community project and i'm sharing this example application as well, but the book is how i spent the better part of a year compiling all of the information i know about enterprise silverlight development into one comprehensive resource. it's not a rehash of blog posts and contains a lot of content. however, if you've got the book, have worked through the examples and still have some questions or issues, please don't hesitate to contact me through the jounce discussion forums or by replying in the comments section below.

simply head over to the jounce website and click the download icon when browsing the latest source to grab the application. thanks, and enjoy!

jeremy likness

Windows Communication Foundation application Printing Database View model Open source Managed Extensibility Framework Book Framework code style

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How To Select Multiple Checkboxes in Selenium WebDriver Using Java
  • Strategies for Kubernetes Cluster Administrators: Understanding Pod Scheduling
  • All the Cloud’s a Stage and All the WebAssembly Modules Merely Actors
  • Software Maintenance Models

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: