Москва • 28 октября 2014 • Digital October
Хоть и с опозданием, решил поделиться с вами своими впечатлениями от посещения #MBLTDev 2014. Отличная конференция, надеюсь, кому-то пригодятся мои заметки.
Москва • 28 октября 2014 • Digital October
Хоть и с опозданием, решил поделиться с вами своими впечатлениями от посещения #MBLTDev 2014. Отличная конференция, надеюсь, кому-то пригодятся мои заметки.
Одними из самых востребованных классов в UIKit до выхода iOS версии 8 являлись UIAlertView и UIActionSheet. Наверное, каждый разработчик приложений под мобильную платформу от Apple рано или поздно сталкивался с ними. Показ сообщений или меню выбора действий — это неотъемлемая часть практически любого пользовательского приложения. Для работы с этими классами, а точнее для обработки нажатий кнопок, программисту требовалось реализовывать в своем классе методы соответствующего делегата — UIAlertViewDelegate или UIActionSheetDelegate (если не требовалось чего-то сверх, то достаточно было реализовать метод clickedButtonAtIndex). На мой взгляд это очень неудобно: если внутри объекта создавалось несколько диалоговых окон с разными наборами действий, то их обработка все равно происходила в одном методе с кучей условий внутри. С выходом 8 версии iOS в составе UIKit появился класс UIAlertController, который пришел на смену UIAlertView и UIActionSheet. И одной из его главных отличительных черт является то, что вместо делегатов он использует блочный подход:
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Hello" message:@"Habr!" preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"Action" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
// код обработчика кнопки
}]];
Такой подход позволяет писать более структурированный и логичный код. Отныне программисту больше не требуется разделять создание диалогового окна и обработку событий — UIAlertController устраняет это недоразумение, но одновременно с этим привносит историческую несправедливость из-за невозможности использования в iOS 7 и более ранних версиях. Решить эту проблему можно несколькими способами:
Последний вариант наиболее логичен, и большинство разработчиков, я уверен, выбрали бы именно его, но данный метод имеет существенный недостаток — условие проверки версии операционной системы придется писать каждый раз, когда потребуется отобразить диалоговое окно. Столкнувшись с этим на практике, я создал специальный класс-обертку UIAlertDialog, который позволяет забыть об этой проблеме.
Читать полностью »
Новостей в связи с праздниками не очень много, но все же: вышла статья о «визуальном» программировании в Xcode, Xamarin представил бесплатные планы для студентов, объявлены финалисты Samsung Gear App Challenge, у Parse вышли Push Experiments и ParseUI. Да, еще же в «Южном парке» вышла серия про free-to-play игры!
Добрый день Хабр!
Вот и подошел к концу глобальный конкурс Samsung Gear App Challenge и выбраны приложения-победители! Тем не менее, каждый желающий еще может внести свою лепту и поддержать интересные ему приложения в голосовании за «Popular Choice Prize»! Именно вам предстоит решить кто же получит BMW i3! Голосование за победителей завершится в час утра 10 ноября, 2014. URL для голосования: gearappfinal.challengepost.com/submissions
Результат прошедшей недели: HTML5 достиг статуса рекомендации, две истории разработки игр, Энди Рубин покинул Google, Microsoft выпустил умный браслет Band. О многом другом – под катом в еженедельном дайджесте.
В России от 30 до 100 процентов населения имеют проблемы со зрением. При этом около 28% процентов детей страдают близорукостью (миопией). В государственных и частных клиниках нашей страны практикуют различные методы лечения близорукости у взрослых и детей — от выписывания витаминов для глаз или капель до лазерных операций. В последнее время врачи стали назначать комбинированное лечение на основе препаратов и работы в специальных сертифицированных медицинских программах-тренажёрах. Такое лечение не способно полностью восстановить зрение, но оно его временно улучшает за счёт снятия зрительного напряжения. Я сама в детстве проходила курс такого лечения. Существующие программы, используемые в таком лечении, стоят очень дорого, в государственных больницах их как-правило бесплатно нет, посещение сеансов в частных клиниках стоит ещё дороже, чем покупка программы.
Мы решили разработать собственную программу для лечения миопии, спазма аккомодации, снятия усталости с глаз и выложить её бесплатно.
Читать полностью »
История о том, как я попал в геймдев, довольно необычная. Всё началось с того, что я работал промоутером стриптиз-клуба на Невском проспекте. В одну из ночей с пятницы на субботу августа 2011 года напротив меня остановилась машина с весёлой компанией внутри. Один человек из этой компании поинтересовался, где поблизости можно хорошо отдохнуть…
Присаживайся поудобнее, дорогой читатель. Этой публикацией открывается серия, посвящённая разработке под мобильные устройства, с историями о моих феерических провалах, поиску своего пути и преодолении себя. Если вы хотите сделать свою игру (или что угодно), но не умеете ни программировать, ни рисовать, то своим примером я хочу вдохновить вас на первые шаги и направить в нужное направление. Серия будет полезна и тем, кто что-то умеет и подумывает начать свой путь в геймдеве – ведь учиться на чужих ошибках гораздо приятнее, чем на своих. Многие вещи я делал недостаточно эффективно, на моём примере вы абсолютно точно узнаете, как делать не стоит. Некоторая информация будет полезна и в других областях (в частности, в области бизнеса с Китаем).
Читать полностью »
22 ноября 2014 состоится DevNightMinsk. DevNight – международная конференция для разработчиков мобильных игр и приложений. В прошлый раз мы встречались в Киеве. А теперь DevNight приезжает в Минск.
Что ждет слушателей на DevNightMinsk? С 15:00 и до самой ночи мы будем обсуждать самые интересные случаи и опасные подводные камни мобильной разработки.
Вход свободный. Для участия в конференции необходима предварительная регистрация.
Читать полностью »
Друзья, не так давно вышел очередной релиз open source фреймворка Apache Cordova, детали вы можете узнать из аннонса.
Я же спешу поделиться деталями одной из интересных фич, которая не так очевидна и распиарена в релизе, но которая значительно облегчает жизнь разработчиков плагинов под Apache Cordova, предоставляя для них практически неграниченное поле для деятельности. Прошу любить и жаловать:
CB-6481 Add unified hooks support for cordova app and plugins
Ниже я покажу, как можно использовать данную фичу для написания Windows Phone JavaScript дебаггера в качестве плагина для Apache Cordova. Результат вы можете посмотреть на видео ниже (смотреть с включенным HD режимом)
Казалось бы, после премьер Apple и Google нас ждет относительно спокойная неделя, но нет. В Unity сменился директор, Apple запустила TestFlight на полную мощность, Opera выпустила отчет о мобильной рекламе за третий квартал, бренд Nokia Lumia превратился в Microsoft Lumia, наконец Twitter запусти свою платформу для разработчиков Fabric. И это лишь малая часть нового дайджеста новостей из мира мобильной разработки.