Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Déjeuner Technologiques - Introduction to iOS Development & App Marketing
1. Les déjeuners technologiques
iOS Programming!
From the first line of code to publication on store
Lille 1 University - November 5th 2013
Clément SAUVAGE!
Founder & Lead Developper @ Kalokod !
iOS, OS X Developer
2. What about the talk ?
iOS developement
Mobile App Marketing
3. Who am I ?
Clément Sauvage
22 years old
Supinfo Student
iOS & OS X Developer
Founder & Lead Dev of Kalokod
Cocoa Speaker
OpenClassrooms Obj-C & iOS content author
Organizer of Cocoaheads Lille Meeting
4. Slides available on my SlideShare & SpeakerDeck profile at the end of
the talk
Sources code available on my GitHub Profile tonight
10. One Programming Language
Objective C
Messages
OOP
(Inherited from SmallTalk)
Classes/Objects!
Polymorphism!
Inheritance /!!
…
I don’t like
POO at all
Categories
Protocols
…
16. Historical reminders
1976 : Creation of Apple Computer, Inc.
1985-86 : Jobs set up NeXT
1996 : Apple bought NeXT for USD 41 000 000
2001 (03/24) Apple release Mac OS X (10.1) Cheetah
26. Interface Design with Storyboards
+
Quickly set a UI
Straightforward impl. for small apps
≠ XIBs for ≠ localizations
Adjust the layout
Difficult to merge conflicts in a team environment
Impossible to describe dynamic views
XIBs lack customizations
Harder to debug
29. Interface Design with code
+
Easier to merge conflicts and diff lines of code than it is a XIB file
Trace code in debug mode / defensive programming
Faster view creation
More control
Visualize the UI
More time to layout your views
30. Interface Design with code
//---- Create red rect UIView
!
CGFloat width = self.view.bounds.size.width;
//Grab width of main (blue) view
CGFloat height = self.view.bounds.size.height; //Grab height of main (blue) view
UIView *infoPanel = [[UIView alloc]initWithFrame:
CGRectMake(width*0.02, height*0.84, width*0.96, height*0.15)];
infoPanel.backgroundColor = [UIColor redColor];
!
!
[self.view addSubview:infoPanel];
//---- AutoLayout methods goes here !
32. Interface Design
No fixed answer !
Multiple factors
Team project or alone cowboy?!
How much time do you have ?!
Have you a precise idea of your UI ? !
If team, is there a designer in it ?