Charla realizada en STGO Tech Talks http://www.meetup.com/STGOTechTalks/events/221979527/ el 12 de Mayo del 2015, usando Deckset con el tema Sketchnote.
Sísifoo "Cómo empezar de nuevo - y otravez"
View Slide
Lecciones aprendidas de migrar deObjective-C a SwiftSin hablar mucho de Objective-C o Swift
Francisco Díaz@fco_diaz
SísifoLos dioses habían condenado aSísifo a empujar sin cesar unaroca hasta la cima de unamontaña, desde donde la piedravolvería a caer por su propiopeso.
Objective-Csubir la colina
El comienzo siempre es dificil#define myAppDelegate (AppDelegate *)[[UIApplication sharedApplication] delegate]@interface AppDelegate : UIResponder @property (strong, nonatomic) UIWindow *window;@property (strong, nonatomic) UINavigationController *navCotroller;@property (strong, nonatomic) NSArray *speedStrings;@property (nonatomic) BOOL didBuyContent;@property (nonatomic) BOOL didUnlockPremiumSounds;@property (nonatomic) BOOL reproduceRoundSounds;@property (nonatomic) BOOL synchWithIcloud;@property (nonatomic) BOOL didEntered11;@property (nonatomic) BOOL isProductionBuild;...void uncaughtExceptionHandler(NSException *exception);- (NSString *)getDocumentSoundsFolder;- (NSString *)applicationDocumentsDirectory;- (void)backAction;- (void)getUnlockContentPrice;- (void)unlockContent;- (void)unlockPremiumSounds;- (void)showErrorAlertMessage:(NSString *)message;- (id)getUserDefaultWithKey:(NSString *)key;- (float)getSpeedSegmentValueWithDifficulty:(int)dif;- (void)updateProgressFromIcloud:(NSNotification *)notification;- (EWInstrument *)getInstrumentWithSamplerType:(SamplerType)type;- (void)loadInstruments;...@end
Y uno lo olvida
Y se vuelve cómodo
Nunca deberías estarcómodo. El estar cómodo haarruinado a muchosmúsicos.1Miles Davis
Siempre sé el peor músicoen cada banda en la queestés.1Pat Metheny
Axiom Zen
Swiftbajando la colina
Swift4 Value types (Enumerations, Structs)4 Optionals4 Generics4 Funciones
Imperativa¿Cómo?
Imperativalet array = [2, 1, 4, 0]var newArray : [Int] = []for element in array {newArray.append(element*2)}// [4, 2, 8, 0]
Funcional¿Qué?
Funcionallet array = [2, 1, 4, 0]map(array) { $0 * 2 }// [4, 2, 8, 0]
Funciones PurasSin Estado 22 Enemy of the State de Justin Spahr-Summers.
Nuevos compañerosNuevo lenguajeNuevo paradigma
¿Soy un mal desarrollador?
Sentirseun mal programadores estresante
Deja elegofuera
Volver a pensar como unnovato.
Lo importantees aprender
Un libro es másde lo que un programador promediolee en un año 33 DeMarco and Lister, Peopleware, 2nd Ed, 1999
Busca unMentor
No seas un desarrolladorde Objective-C o Swift
La lucha por llegar a lascumbres basta para llenarun corazón de hombre. Hayque imaginarse a Sísifofeliz.1Albert Camus
Gracias¿Preguntas? ¿Comentarios?Las dispositivas y notas están disponibles en:https://github.com/fdiaz/sisifo-talk