dotnet miami - may 17th, 2012: will tartak: designing for mobile development
DESCRIPTION
dotNet Miami - May 17th, 2012: Presented by Will Tartak: System architecture becomes important when your services may have to deal with exponential growth. In this session we’ll look at how to design a complete system that supports mobile devices and the possibility of explosive growth. We’ll look at clients in Windows Phone & Android supported by a REST service that runs on Azure. Along the way we’ll explore the reasons why we may choose to use technologies such as http, REST, JSON/XML and cloud based computing like Azure.TRANSCRIPT
![Page 1: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/1.jpg)
Designing for Mobile Development
Will TartakPrincipal
ALP1, Incorporated
![Page 2: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/2.jpg)
Agenda
• About Me• Conceptual• About Team Pad• Some Questions• Challenges of Mobile Development• Solutions for Mobile Development• Code!?!• Resources
![Page 3: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/3.jpg)
Team Pad
![Page 4: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/4.jpg)
Team Pad
![Page 5: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/5.jpg)
Team Pad
![Page 6: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/6.jpg)
Biggest Challenges in Mobile?
• Bandwidth• Connectivity• Screen Size & Resolution• Processing Power• Unique Features (GPS, Accelerometers, etc.)• Multi-Platform• New Development Environments• Require Supporting Systems• Security
![Page 7: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/7.jpg)
Solutions for Mobile?
• Separation of Concerns• Smallest Functional Deliverable• Smallest Wire Footprint• Flexible Display Capabilities• Processing On Server• Elasticity• 3rd Party Tools?• Security is Security
![Page 8: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/8.jpg)
A Successful Architecture
• Device• Communications Server• Business Logic• Data Logic• Database
![Page 9: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/9.jpg)
Team Pad Languages Used
• Java• Android XML• Json• Javascript• Html/xHtml• Css• ANT XML
• Regular Expressions• C#• Razor• VB.net• XAML• VBA• SQL
![Page 10: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/10.jpg)
Team Pad Technologies Used
• Android• Json• XML• SAX• Jquery• ANT• MVC• Csla• Entity Framework• Photoshop • COM Automation• WP7
• Azure• Azure SQL• Azure Storage• MVVM Lite• NewtonSoft.Json• HtmlAgilityPack• Proguard• REST• ServicesStack.net• SSL• Gson
![Page 11: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/11.jpg)
Code!!!
![Page 12: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/12.jpg)
Resources
• Platforms– https://
developer.apple.com/devcenter/ios/index.action
– http://developer.android.com/
– http://create.msdn.com/en-US/• Services– http://windowsazure.com– http://aws.amazon.com– https://appharbor.com
![Page 13: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/13.jpg)
Resources
• Rest Servers– http://servicestack.net– http://www.asp.net/web-api– http://www.nancyfx.org– https://github.com/openrasta– http://restcake.net
• IDEs– http://www.eclipse.org/downloads– http://www.jetbrains.com/idea– http://msdn.microsoft.com/en-us/library/ff4
02535(v=vs.92).aspx
![Page 14: dotNet Miami - May 17th, 2012: Will Tartak: Designing for Mobile Development](https://reader035.vdocuments.mx/reader035/viewer/2022062514/557c2002d8b42a925b8b48fa/html5/thumbnails/14.jpg)
Resources
• Data Sources– http://www.mashery.com– http://www.programmableweb.com– https://datamarket.azure.com
• Other Dev Tools– http://www.appcelerator.com/platform
– http://phonegap.com
– http://www.rhomobile.com
– http://www.verivo.com