Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Presentation Model (PM)
Martin Fowler, ThoughtWorks, 2004
MVC
Source: J2EE Blueprint
http://martinfowler.com/eaaDev/PresentationModel.html
Model View ViewModel
John Gossman, Microsoft, 2005
XEROX PARC 1978-1979
http://blogs.msdn.com/b/johngossman/archive/2005/10/08/478683.aspx
Source:Microsoft Patterns&Practice
MVVM
Cross-platform Driven Development
MVVM pattern in cross-plaform architecture based on Xamarin
Piotr Karczmarz
xamarin.com/sharp-shirt
piotr@karczmarz.com
http://karczmarz.com/blog
@PiotrKarczmarz
Czego mama nigdy nie mowiła Ci na temat testowania automatycznego
Source: IDC
Objective-C
C#
Java
Source:Scott Hanselman
Scope
Time
Quality
Money
The high cost of developing applications on each platform separately
An iterative cycle of "inventing the wheel" during the production of new applications,
no / weak knowledge transfer between developers teams
developers like to dig in code, so for them it's not a problem :)
The need to maintain separate development
2-3 devs x 3 (Windows, iOS, Android) = 6-9
Maintaining a separate branch of production application source code is not so easy ;)
Speed
Smoothness
Responsiveness
Consistent Look & Feel
Property Cross
HTML5/JavaScript
... Sencha Touch/PhoneGap/JQuery Mobile ...
iOS
Android
Windows Phone
Blackberry
Xamarin
?
Xamarin
The Mono project created in 2000 by Migual de Icaza (Ximian)
Novell bought Ximian in 2003
Novell acquired by Attachmate - April 2011
What's next for Mono?
Xamarin created in May 2011
Lifetime license to use Mono granted Xamarin
by Attachmate / Novell to use projects:
Mono
MonoTouch (now Xamarin.iOS)
Mono for Android (now Xamarin.Android)
Portable Class Library
iCircuit
Rdio
Bastion
Entity
Infinite Flight
Source: Xamarin.com
Reuse Story
One Language + Framework
Modern IDEs
C#
Visual Studio
MonoDevelop
Debugging
AutoComplete
Refactoring
Project Management
Integrated Source Control
Designer + Integration
C# Libraries
Obj-C Bindings
.jar Bindings
C via pInvoke
C++ via Cxxi
LINQ
Lambdas
Task Parallel Library
Compile-Time Checks
F# support
Async/await
GC
"All non-trivial abstractions, to some degree, are leaky",
Joel Spolsky, Joel On Software
Source: Xamarin.com
Xamarin Pros
Manually
Sharpen
originally used to port the code for db4o
ngit
Source: Xamarin