Александр Зинчук "Настройка карты: внешний вид и поведение"Yandex
APIшник Яндекс.Карт, Москва, 26.04.2012
Рассказ Александра Зинчука (разработчика интерфейсов API Яндекс.Карт) о том, как настраивать карту и ее внешний вид в новой версии API.
Sergey Himmelreich, Co-founder, Arpu.guru
Elena Bugakova, Co-founder, Arpu.guru
In workshop will participate teams from audience. There will be 3 rounds: to decompose a game into a patterns of game mechanics, replace core-mechanics of the presented game with another and come up with a new game concept. Answers will be evaluated by experts and other teams, in the end winners will receive prizes.
Александр Зинчук "Настройка карты: внешний вид и поведение"Yandex
APIшник Яндекс.Карт, Москва, 26.04.2012
Рассказ Александра Зинчука (разработчика интерфейсов API Яндекс.Карт) о том, как настраивать карту и ее внешний вид в новой версии API.
Sergey Himmelreich, Co-founder, Arpu.guru
Elena Bugakova, Co-founder, Arpu.guru
In workshop will participate teams from audience. There will be 3 rounds: to decompose a game into a patterns of game mechanics, replace core-mechanics of the presented game with another and come up with a new game concept. Answers will be evaluated by experts and other teams, in the end winners will receive prizes.
Lviv MDDay 2014. Іван Дзямулич. “Розробка для iOS. Підводні камені та шляхи д...Lviv Startup Club
Lviv MDDay 2014. Іван Дзямулич. “Розробка для iOS. Підводні камені та шляхи до цілей”
Сайт конференції: http://mdday.lviv.ua/
Відео: http://bit.ly/MDDayVids
Linkedin: http://bit.ly/LMDDLIN
We have this new language, Swift, which takes some familiar Apple patterns, and introduces some new ones. With tools like closures and method chaining, there are definitely some new ways to solve the age-old Obj-c architecture challenges. This talk will walk through some of the most common Obj-c design patterns rewritten in Swift, and showcase the strengths and weaknesses of this new language.
As one of the early adopters of Apple TV and tvOS, Gilt Groupe was recently selected to present their “Gilt on TV” app at the Apple Keynote event in September.
This presentation covers Gilt's discoveries during the process of building a tvOS app from scratch in Swift.
It was presented at iOSoho on October 12, 2015 in New York City.
iOS 10 has been billed as the biggest software update that Apple has ever released. It promises to fundamentally change and expand the ways in which we use the iPhone. Here is everything you need to know about one of the most exciting updates to Apple's operating system.
This talk was originally presented at CocoaHeadsDC meetup on July 10th, 2014. It is an introduction to Apple's new programming language - Swift.
Contact me on Twitter at @NatashaTheRobot
Как не выстрелить себе в ногу из конечного автомата / Александр Сычев (RAMBL...Ontico
Для устойчивого развития проекта требуется правильная организация потоков данных и управления. Если на эту задачу не обращать внимания и положиться на случай, то со временем в программном коде появляются места с запутанной логикой, в которых даже опытному разработчику тяжело сориентироваться.
В своем докладе я покажу и расскажу, как с помощью такой абстракции, как конечный автомат, решить задачу управления сложным объектом со множеством внутренних состояний (контроллер нагруженного экрана, сервис получения данных из разных источников и т.д.) и как при этом не потеряться во множестве переходов. На наглядном примере я познакомлю слушателей с достоинствами и недостатками выбранного подхода и помогу определиться, когда его стоит, а когда не стоит применять.
A three-part presentation on the Swift programming language:
• An introduction to Swift for Objective-C developers
• Changes in Swift 2
• What's coming in Swift 2.2 & 3.0
Swift is now simpler than ever to use for end-to-end development. Developers wanting a local development environment can now leverage popular Swift@IBM technologies using IBM Cloud Tools for Swift (beta) on IBM Bluemix. In addition, Linux developers can take advantage of today's most popular language on the most powerful Linux platform for data-serving and systems of record, LinuxONE™.Start building end-to-end applications and quickly deploy them with Kitura on both OSX and Linux. Kitura is a modular, package-based web framework and HTTP server. Written in the Swift language, this open source framework lays the foundation for community collaboration, building off the latest technologies from the Swift.org developer community including Libdispatch, Foundation, and the Swift Package Manager.
Talk given 1/11/16 to The Silicon Valley iOS Developers' Meetup at Yahoo. Quick overview of key differences between the languages aimed at an audience of experience Objective-C developers.
В своем докладе Сергей Солодовников (Rambler&Co) помогает разобраться с тем, как устроен и какие возможности предоставляет Coordinator Layout – ранее малознакомый для многих элемент разметки, который все чаще встречается в приложениях в связи с переходом на Material Design.
Ссылка на видеозапись: https://youtu.be/47LzYmHKVXM
Интерактивные 3D-карты своими руками / Александр Амосов (Avito)Ontico
РИТ++ 2017, Frontend Сonf
Зал Мумбаи, 5 июня, 15:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2603.html
Когда компания разрастается, встает необходимость навигации, поиска коллег, оргтехники, переговорок в офисе. Чтобы решить эту проблему, можно нарисовать двухмерный план помещений и даже добавить интерактив с привязкой к базе данных сотрудников. Но намного эффектнее и нагляднее сделать карту трехмерной.
В своем докладе я опишу полностью процесс создания WebGL-визуализации, начиная от создания модели в трехмерном редакторе и заканчивая оптимизациями из мира компьютерных игр, что поможет вам разработать собственный интерактивный 3D-проект.
Lviv MDDay 2014. Іван Дзямулич. “Розробка для iOS. Підводні камені та шляхи д...Lviv Startup Club
Lviv MDDay 2014. Іван Дзямулич. “Розробка для iOS. Підводні камені та шляхи до цілей”
Сайт конференції: http://mdday.lviv.ua/
Відео: http://bit.ly/MDDayVids
Linkedin: http://bit.ly/LMDDLIN
We have this new language, Swift, which takes some familiar Apple patterns, and introduces some new ones. With tools like closures and method chaining, there are definitely some new ways to solve the age-old Obj-c architecture challenges. This talk will walk through some of the most common Obj-c design patterns rewritten in Swift, and showcase the strengths and weaknesses of this new language.
As one of the early adopters of Apple TV and tvOS, Gilt Groupe was recently selected to present their “Gilt on TV” app at the Apple Keynote event in September.
This presentation covers Gilt's discoveries during the process of building a tvOS app from scratch in Swift.
It was presented at iOSoho on October 12, 2015 in New York City.
iOS 10 has been billed as the biggest software update that Apple has ever released. It promises to fundamentally change and expand the ways in which we use the iPhone. Here is everything you need to know about one of the most exciting updates to Apple's operating system.
This talk was originally presented at CocoaHeadsDC meetup on July 10th, 2014. It is an introduction to Apple's new programming language - Swift.
Contact me on Twitter at @NatashaTheRobot
Как не выстрелить себе в ногу из конечного автомата / Александр Сычев (RAMBL...Ontico
Для устойчивого развития проекта требуется правильная организация потоков данных и управления. Если на эту задачу не обращать внимания и положиться на случай, то со временем в программном коде появляются места с запутанной логикой, в которых даже опытному разработчику тяжело сориентироваться.
В своем докладе я покажу и расскажу, как с помощью такой абстракции, как конечный автомат, решить задачу управления сложным объектом со множеством внутренних состояний (контроллер нагруженного экрана, сервис получения данных из разных источников и т.д.) и как при этом не потеряться во множестве переходов. На наглядном примере я познакомлю слушателей с достоинствами и недостатками выбранного подхода и помогу определиться, когда его стоит, а когда не стоит применять.
A three-part presentation on the Swift programming language:
• An introduction to Swift for Objective-C developers
• Changes in Swift 2
• What's coming in Swift 2.2 & 3.0
Swift is now simpler than ever to use for end-to-end development. Developers wanting a local development environment can now leverage popular Swift@IBM technologies using IBM Cloud Tools for Swift (beta) on IBM Bluemix. In addition, Linux developers can take advantage of today's most popular language on the most powerful Linux platform for data-serving and systems of record, LinuxONE™.Start building end-to-end applications and quickly deploy them with Kitura on both OSX and Linux. Kitura is a modular, package-based web framework and HTTP server. Written in the Swift language, this open source framework lays the foundation for community collaboration, building off the latest technologies from the Swift.org developer community including Libdispatch, Foundation, and the Swift Package Manager.
Talk given 1/11/16 to The Silicon Valley iOS Developers' Meetup at Yahoo. Quick overview of key differences between the languages aimed at an audience of experience Objective-C developers.
В своем докладе Сергей Солодовников (Rambler&Co) помогает разобраться с тем, как устроен и какие возможности предоставляет Coordinator Layout – ранее малознакомый для многих элемент разметки, который все чаще встречается в приложениях в связи с переходом на Material Design.
Ссылка на видеозапись: https://youtu.be/47LzYmHKVXM
Интерактивные 3D-карты своими руками / Александр Амосов (Avito)Ontico
РИТ++ 2017, Frontend Сonf
Зал Мумбаи, 5 июня, 15:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2603.html
Когда компания разрастается, встает необходимость навигации, поиска коллег, оргтехники, переговорок в офисе. Чтобы решить эту проблему, можно нарисовать двухмерный план помещений и даже добавить интерактив с привязкой к базе данных сотрудников. Но намного эффектнее и нагляднее сделать карту трехмерной.
В своем докладе я опишу полностью процесс создания WebGL-визуализации, начиная от создания модели в трехмерном редакторе и заканчивая оптимизациями из мира компьютерных игр, что поможет вам разработать собственный интерактивный 3D-проект.
Статический и динамический полиморфизм в C++, Дмитрий ЛевановYandex
На примере некоторых архитектурных решений Крипты Дмитрий расскажет о способах реализации полиморфного поведения в программах на C++, о преимуществах и недостатках этих способов, а также о новых возможностях C++11.
Александр Зимин "Нестандартная верстка для стандартных компонентов в iOS"IT Event
В докладе пойдет речь о верстке для UITableView и, в частности, UICollectionView. Зимин Александр расскажет о том, почему стоит использовать UICollectionView чаще, чем вы думаете, как не сесть в лужу с оптимизацией и динамично подстраивать верстку под контент. Доклад будет сопровождаться работой в Xcode, реальными примерами кода и полезными ссылками.
Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"Yandex
Писать сложный клиентский JavaScript непросто. Каждый, кто пробовал, знает это не понаслышке. Как писать независимые блоки? Как писать блоки, состоящие из других блоков? Как сделать библиотеку блоков? В докладе мы расскажем про то, как упростить себе жизнь и научиться писать клиентский JavaScript в БЭМ-терминах.
Similar to Четвертое занятие курса iOS-разработки в ГУ-ВШЭ (20)
6. события
• Срабатывают при действии пользователя
• Посылает action у target
target: myObject
Пример: action: @selector(decrease:)
event: UIControlEventTouchUpInside
[myControl addTarget:myObject action:@selector(decrease:)
forControlEvents: UIControlEventTouchUpInside];
[myControl removeTarget:myObject action:@selector(decrease:)
forControlEvents: UIControlEventTouchUpInside];
вторник, 12 октября 2010 г.
7. view
• прямоугольная часть экрана
• показывает и принимает события
• view существуют в иерархии: один
superview, много subview
• все view показаны в window
• UIWindow - одно на всё приложение
вторник, 12 октября 2010 г.
8. иерархия view
Либо в IB, либо программно:
• [superView addSubview:view];
• [subView removeFromSuperview];
Управление иерархией:
- (void)insertSubview:(UIView *)view atIndex:(int)index;
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)view;
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)view;
- (void)exchangeSubviewAtIndex:(int)index withSubviewAtIndex:(int)otherIndex;
вторник, 12 октября 2010 г.
9. view
SuperView производит retain
Контроль показа view
theView.hidden = YES;
вторник, 12 октября 2010 г.
10. структуры для view
• CGPoint место в пространстве+ { x , y }
• CGSize размеры { width , height }
• CGRect место и размеры { origin , size }
вторник, 12 октября 2010 г.
11. Rects, Points and Sizes
CGRect (0, 0) x
54
origin CGPoint
x 80 80
size
y 54
y
144
CGSize
width 144
72
height 72
Tuesday, January 19, 2010 11
вторник, 12 октября 2010 г.
12. View-related Structure
работа со структурами
Creation Function Example
CGPoint point = CGPointMake (100.0, 200.0);
CGPointMake (x, y) point.x = 300.0;
point.y = 30.0;
CGSize size = CGSizeMake (42.0, 11.0);
CGSizeMake (width, height) size.width = 100.0;
size.height = 72.0;
CGRect rect = CGRectMake (100.0, 200.0,
CGRectMake (x, y, 42.0, 11.0);
width, height) rect.origin.x = 0.0;
rect.size.width = 50.0;
синтаксис!
Tuesday, January 19, 2010 (), нет * 12
наследство от С
вторник, 12 октября 2010 г.
14. view
frame bounds
координатная система локальная
superview координатная система
используется при используется при
использовании view реализации view
вторник, 12 октября 2010 г.
16. дополнительные бонусы
UIColor
UIColor *redColor = [UIColor redColor];
[myLabel textColor] = redColor;
UIFont
UIFont *font = [UIFont systemFontOfSize:14.0];
[myLabel setFont:font];
вторник, 12 октября 2010 г.
17. UIImage и UIImageView
Создание UIImage:
из ресурсов:
+[UIImage imageNamed:(NSString *)name]
с диска
-[UIImage initWithContentsOfFile:(NSString *)path]
из памяти в виде данных
-[UIImage initWithData:(NSData *)data]
UIImage *myImage = [UIImage imageNamed:@’‘oleg.jpg’’];
CGRect frame = CGRectMake(20, 45, 140, 21);
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:frame];
myImageView.image = myImage;
[myImage release];
вторник, 12 октября 2010 г.
18. простая анимация
-(IBAction)changeValue {
[UIView beginAnimations:@"advancedAnimations" context:nil];
[UIView setAnimationDuration:0.5];
int value = slider.value;
[label setText:[NSString stringWithFormat:@"%d",value]];
CGRect fr = label.frame;
fr.origin.y += 40;
label.frame = fr;
[UIView commitAnimations];
}
вторник, 12 октября 2010 г.
21. сравни
Organizing Content Organizing Content
Friday, January 22, 2010 Friday, January 22, 2010 6
вторник, 12 октября 2010 г.
22. дизайн
Organizing Content
• Focus on yo
• фокус на • One thing a
• Screenfuls o
информацию
пользователя
• один функционал
единовременно
Friday, January 22, 2010
вторник, 12 октября 2010 г.
23. функционал для
управления
Patterns for Organizing Content
Navigation Bar Tab Bar
вторник, 12 октября 2010 г.
24. MVC
Parts of a Screenful
Model View
Controller
Friday, January 22, 2010 12
вторник, 12 октября 2010 г.
25. MVCParts adress book
в of a Screenful
Model View
Controller
Friday, January 22, 2010 11
вторник, 12 октября 2010 г.
28. Why Model-View-Controller?
• Ever used the word “spaghetti” to describe code?
• Clear responsibilities make things easier to maint
• Avoid having one monster class that does everyth
Friday, January 22, 2010
вторник, 12 октября 2010 г.
29. Взаимодейтсвие в
MVC
• Model не знает про View и Controller,
использует notification broadcast
• View не знает про Model и Controller,
использует terget-action и делегацию
• Controller знает всех, «мозги» -
управление, очень специфичный
вторник, 12 октября 2010 г.
30. View Controller
• Управляет содержимым экрана
• Наследуй от UIViewController, чтобы
определить свою логику
“Your” and “Our” View Controllers
Your” and “Our” View Controllers
• Несколько ViewController-ов могут
• Create your
Create your own UIViewController subclass for each screenful own UIViewController subclass for each s
совмещаться • Plug them together using existing composite view co
lug them together using existing composite view controllers
View Controller
View Controller
Navigation Tab Bar
View Controller View Controller
Controller Controller
View Controller
View Controller
вторник, 12 октября 2010 г.
31. свой ViewController
#import <UIKit/UIKit.h>
@interface MyViewController : UIViewController {
NSMutableArray *myData;
Creating Your View in Code
UILabel *myLabel;
• Override -loadView
} ■ Never call this directly
• Create your views
@property (readonly) NSArray *myData;
- (void)doSomeAction:(id)sender;
• Set the view property
• Create view controller with -init
// Subclass of UIViewController
- (void)loadView
{view объявлен в UIViewController
MyView *myView = [[MyView alloc] initWithFrame:frame];
self.view = myView; // The view controller now owns the view
[myView release];
}
в нашей реализации - loadView
вторник, 12 октября 2010 г.
32. свой ViewController
- (void)loadView {
MyView *myView = [[MyView alloc] initWithFrame:frame];
self.view = myView;
[myView release];
}
вторник, 12 октября 2010 г.
33. свой ViewController Builder
Creating Your View with Interface
• Lay out a view in Interface Builder
• File’s owner is view controller class
• Hook up view outlet
• File - New File - View Controller
• Create view controller
with -initWithNibName:bundle:
• автоматическое создание nib-файла
• создание нового объекта viewController
при помощи -initWithNibName:bundle:
Friday, January 22, 2010
вторник, 12 октября 2010 г.