3. Mobile Concepts and PatternsMobile Concepts and Patterns
UI
◦ Visual Design Patterns
Data Access
◦ Local
◦ Web Services
◦ Data Binding
◦ Data Synchronization
State Management
Threading
MVC vs. MVVM
7. iOS List ExampleiOS List Example
Instantiate UITableView and add it to a
view in the ViewDidLoad() method of the
ViewController.
public override void ViewDidLoad()
{
base.ViewDidLoad();
UITableView table = new UITableView(View.Bounds);
Add (table);
}
8. iOS List Example –iOS List Example –
SubclassSubclass UITableViewSourceUITableViewSource
public class ListSource : UITableViewSource
{
protected string[] listItems;
protected string CellId= "TableCell";
public ListSource (string[] items)
{ listItems = items; }
public override int RowsInSection (UITableView tableview, int section)
{ return listItems.Length; }
public override UITableViewCell GetCell (UITableView tableView,
MonoTouch.Foundation.NSIndexPath indexPath)
{ UITableViewCell cell = tableView.DequeueReusableCell (CellId);
if (cell == null) cell = new UITableViewCell (UITableViewCellStyle.Default, CellId);
cell.TextLabel.Text = listItems[indexPath.Row];
return cell;
}
}
9. iOS List ExampleiOS List Example
public override void ViewDidLoad()
{
base.ViewDidLoad();
UITableView table = new UITableView(View.Bounds);
var tableItems = new string[]
{"First","Second","Third","Fourth","Fifth"};
table.Source = new ListSource(tableItems);
Add (table);
}
14. Style and DesignStyle and Design
Form follows function
◦ What is your apps message?
To the Point
Consistency
" If it looks the same, it should act the same." - Android Style Guide
15. Style and DesignStyle and Design
Direct Manipulation
Feedback
Personal Service
Encouragement
21. Mobile Interaction ChartMobile Interaction Chart
Mobile Action PC
Tap I want this click
Submit Do it submit
Swipe Next! Move, or Delete next
Press Do Something Double-click
Pinch Zoom out Roller/slider
Spread Zoom in Roller/slider
Rotate um, Rotate. Roller/slider
http://www.lexiconsystemsinc.com/
32. The OptionsThe Options
MVVM
◦ MVVMcross
◦ MVVM Lite
◦ ReactiveUI
Roll Your Own MVC
◦ Separate out your controller logic from your
Activities, ViewControllers, and Pages
33. Mobile Design PatternsMobile Design Patterns
Dan Hermes
Mobile Consultant
Lexicon Systems
Website: www.lexiconsystemsinc.com
Email: dan@lexiconsystemsinc.com
Phone: 781-526-0738
Twitter: @lexiconsystems
Blog: www.itshopkeeping.com