Первое приложение для iPhone
Upcoming SlideShare
Loading in...5
×
 

Первое приложение для iPhone

on

  • 3,753 views

Семинар для начинающих iOS разработчиков

Семинар для начинающих iOS разработчиков

Statistics

Views

Total Views
3,753
Views on SlideShare
3,753
Embed Views
0

Actions

Likes
1
Downloads
56
Comments
2

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Ребята если вдруг кто-то из ваших знакомых решит создать нечто подобное, только со своей идеей, могу порекомендовать хороших реализаторов. Вот эти ребята http://appmaker.ru/razrabotka-mobilnyx-prilozhenij-na-zakaz.html очень талантливо и креативно создадут для вас приложение для андроидов или iPhone.
    Are you sure you want to
    Your message goes here
    Processing…
  • видео тут http://lib.custis.ru/2011-06-09-iphone
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Первое приложение для iPhone Первое приложение для iPhone Presentation Transcript

  • Первое приложение для iPhone Глеб Тарасов CUSTIS
  • Почему мобильная разработка? 2 / 48
  • Для десктопов сложно что-то придумать 3 / 48
  • Веб — перепаханное поле 4 / 48
  • Мобильные приложения — наше всё! 5 / 48
  • Но надо спешить! 6 / 48
  • Динамика роста AppStore 7 / 48
  • Какую мобильную ОС выбрать? 8 / 48
  • США 9 / 48
  • Россия 10 / 48
  • Языки, платформы iOS Objective-C MacWindows Phone 7 C# Win Android Java Win, Mac, Linux Symbian C++ Win Blackberry Java Win 11 / 48
  • Мобильные фреймворки• jQTouch • Wink Toolkit• jQuery Mobile • iUI• Sencha Touch • Dojo Mobile• Xui (не популярен в России) • dHTMLx Touch http://lib.custis.ru/Мобильная_веб-разработка_(Андрей_Ребров,_ADD-2011) 12 / 48
  • Компиляция веб-приложений в нативные• PhoneGap• MotherApp• Big5• Rhodes• Titanium 13 / 48
  • Wunderlist http://www.6wunderkinder.com/wunderlist/ Titanium 14 / 48
  • Дзен-мани http://zenmoney.ru/ PhoneGap 15 / 48
  • Что нужно для разработки? 16 / 48
  • Попробовать• Хакинтош под виртуальной машиной (устанавливаем Mac OS на VirtualBox)• XCode 4 ($5) 17 / 48
  • Полноценная разработка• Макинтош• iPhone для тестирования• Подписка разработчика Apple ($99 / год) 18 / 48
  • Objective-C 19 / 48
  • История1981 — Object-Oriented Pre-Compiler (OOPC). Компания StepStone.Tom Love & Brad Cox1986 — Objective-C. «Object-Oriented Programming,An Evolutionary Approach» (Brad Cox).1988 — NeXT лицензирует Objective-C1996 — Apple покупает NeXT. Objective-C — основной языкдля Mac OS.2007 — Objective-C — основной язык для iPhone OS 20 / 48
  • Основные особенности• объектно-ориентированный• компилируется в машинный код• полностью совместим с Си• header-файлы 21 / 48
  • Сравнение с другими языками• Нет статических полей• Нет абстрактных методов и классов• Нет protected методов• Нет generic-ов• Нет namespace-ов• YES/NO вместо true/false. nil вместо null 22 / 48
  • Сравнение с другими языками• Есть свойства• Есть лямбда-функции• Можно писать без статических проверок на типы• Логичная иерархия коллекций (readonly базовый для mutable)• Именованные параметры методов• Все методы виртуальные 23 / 48
  • Не вызовы методов, а отправка сообщенийObjective-C [myObject doSomething:myArgument]; C++ myObject->doSomething(myArgument);C#, JAVA, Python myObject.doSomething(myArgument); PHP, Perl $myObject->doSomething($myArgument); 24 / 48
  • Непривычный синтаксис C# Objective-C a[i] [a objectAtIndex:i] a[key] [a objectForKey:key] a+b [a stringByAppendingString:b]a.Replace("a", "b") [a stringByReplacingOccurrencesOfString:@"a" withString:@"b"] 25 / 48
  • Зато C# Objective-Ca.Process(q, r, t, f) [a processQuery:q withRadius:r withTime:t callWhenFinish:f] 26 / 48
  • Управление памятью• счетчик ссылок retainCount• retain: retainCount++• release: retainCount--• dealloc, когда retainCount = 0 27 / 48
  • Model – View – Controller 28 / 48
  • Демонстрация 29 / 48
  • Публикация приложения 30 / 48
  • Регистрация в AppStore• Покупаем в Яндекс.Деньги виртуальную карту на 3000 рублей• Заполняем электронную форму регистрации• Отсылаем факс через онлайн-сервис• Ждем подтверждения 31 / 48
  • Что нужно?• Название• Имя приложения в iPhone• Поддерживаемая версия iOS• Выбрать категорию• Иконка• Описание• Скриншоты 32 / 48
  • iTunes Connect 33 / 48
  • Продвижение 34 / 48
  • Полезные советы 35 / 48
  • Поддержка старых версий iOS 36 / 48
  • Поддержка iPad, iPod Touch 37 / 48
  • Поддержка Retina 38 / 48
  • Вызов метода,создание объекта — долго! 39 / 48
  • Действие Количество LLVM GCCВызов Objective- 10’000’000 1 сек. 0.9 сек C методаВызов C функции 10’000’000 0.2 сек. 0.2 сек. Создание 1’000’000 6.3 сек. 5.3 сек. объекта Создание С 10’000’000 1.9 сек. 0.7 сек. структуры Измерялось на iPhone 3GS 40 / 48
  • Избегать autorelease. Особенно в цикле. 41 / 48
  • Все вычисления делать заранее 42 / 48
  • Обратная связь:кнопка «написать письмо» 43 / 48
  • При тестировании приложения удалите его с телефона и сбросьте настройки 44 / 48
  • Логотип Google 45 / 48
  • Логировать все 46 / 48
  • Что и где почитать?• ADD-2010. Никита Фролов. Как начать разрабатывать для iPhone.• Objective-C 2.0 и программирование для Mac• iTunes-U. Stanford 47 / 48
  • Все! gleb34@gmail.com 48 / 48