«Делимся опытом разработки высоконагруженных...
TRANSCRIPT
Мобильные приложенияAndroid
Дмитрий МельниковHPC-4, 25.04.2013,
Санкт-Петербург
О чем поговорим?
I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone.
© Bjarne Stroustrup
Мобильная разработка и ее специфика
История
сентябрь 2009 – 1.6 “Donut” (июнь 2007 iPhone / октябрь 2010 WP7
декабрь 2010 – 2.3 “Gingerbread” (июнь 2009 iPhone 3G)
февраль 2011 – 3 “Honeycomb” (апрель 2010 iPad / октябрь 2012 Surface)
октябрь 2011 – 4 “Ice Cream Sandwich” (июнь 2010 iPhone 4 / окт 2012 WP8)
инфографика http://goo.gl/kT0AC интерактивная история http://goo.gl/kH8JY
Android
Проблемы Android
зоопарк устройств
Samsung GS3 / Samsung GS4 / HTC Sensation = 5,23% / 4,58% / 2,14%
iPhone 4s / iPhone 5 / iPhone 4 = 27,92% / 23,97% / 20,61%
фрагментация версий
доверие
shells vs pure
Чем мы занимаемся?
Я не скажу, что это подвиг, но вообще что-то героическое в этом есть.
© Тот самый Мюнхгаузен
Мы создаем платежную систему
Статистика
≈ 300 тыс. установок
> 150 тыс. посетителей в месяц
Яндекс.Деньги Android app
Самые популярные кейсы:
• баланс и номер счета• история • p2p• мобильная связь
Проектирование
design is key
guidelines d.android.com/design/
меньше велосипедов
ActionBar + side menu http://goo.gl/5kzWg ++ landscape orientation + hd displays support
UI: slicky, sexy & groovy
Проектирование
понимание
скетчи
обсуждения
отрисовка
разработка
мелкие изменения в процессе разработки
Процесс
Проектирование
API
RESTful http://goo.gl/e28Ve
язык + framework + client library
XaaS (Heroku/Openshift, AWS/Azure/Google cloud)
версионность API
совместимость старых версий и API
Backend
Разработка
современные фреймворки
guides & manuals
скорость http://goo.gl/N1of0
keep it simple
мелочи важны
Общие моменты
Разработка
Fragments
ActionBarSherlock
AndroidAnnotations (IoC + threading + etc)
ORM (OrmLite)
HTTP in services
Fuel economy: gzip
Технологии
Разработка
Tools are important
IDEA
Sublime Text
Git/Github
Инструменты
Тестирование
Тесты
Robotium
BDD (Cucumber/SpecFlow)
Сборка и автоматизация
Ant, Maven, Gradle?
TeamCity
Кастомные билды
Эксплуатация
Синхронизация релизов
App monitoring (Bugsense)
Feedback и отзывы
Особенности
ПроцессыBe agile
Разное
gamification http://goo.gl/c4pAu
рынок
тренды
На закуску
Спасибо
Дмитрий Мельников
facebook.com/melnikovdv
Полезные материалы по Android http://goo.gl/pi103
wanted: java-хардкорщик