Array
(
    [0] => stdClass Object
        (
            [year] => 2009
            [month] => сентябрь
            [month_i] => 9
            [link] => http://www.2009.mobilefest.ru/
            [name] => mobilefest # nn
        )

    [1] => stdClass Object
        (
            [year] => 2010
            [month] => сентябрь
            [month_i] => 9
            [link] => http://2010.mobilefest.ru/
            [name] => mobilefest # nn
        )

    [2] => stdClass Object
        (
            [year] => 2010
            [month] => декабрь
            [month_i] => 12
            [link] => http://2010.mdday.ru/
            [name] => mdday # russia
        )

    [3] => stdClass Object
        (
            [year] => 2011
            [month] => 
            [month_i] => 0
            [link] => http://2011.mdday.ru/video/
            [name] => видео mdday # russia
        )

    [4] => stdClass Object
        (
            [year] => 2011
            [month] => март
            [month_i] => 3
            [link] => http://volen2011.mobilefest.ru/
            [name] => mobilefest # msk
        )

    [5] => stdClass Object
        (
            [year] => 2011
            [month] => июнь
            [month_i] => 6
            [link] => http://moco2011.mdday.ru/
            [name] => mdday # moco
        )

    [6] => stdClass Object
        (
            [year] => 2011
            [month] => июнь
            [month_i] => 6
            [link] => http://nn.devgarage.ru/
            [name] => devgarage # nn
        )

    [7] => stdClass Object
        (
            [year] => 2011
            [month] => июль
            [month_i] => 7
            [link] => http://spb.devgarage.ru/
            [name] => devgarage # spb
        )

    [8] => stdClass Object
        (
            [year] => 2011
            [month] => август
            [month_i] => 8
            [link] => http://ua2011.mdday.ru/
            [name] => mdday # ua
        )

    [9] => stdClass Object
        (
            [year] => 2011
            [month] => сентябрь
            [month_i] => 9
            [link] => http://spb2011.mobilefest.ru/
            [name] => mobilefest # spb
        )

    [10] => stdClass Object
        (
            [year] => 2011
            [month] => октябрь
            [month_i] => 10
            [link] => http://badaday.ru
            [name] => bada Developer Day
        )

    [11] => stdClass Object
        (
            [year] => 2011
            [month] => ноябрь
            [month_i] => 11
            [link] => http://webapps.devgarage.ru
            [name] => devgarage # nn
        )

    [12] => stdClass Object
        (
            [year] => 2011
            [month] => декабрь
            [month_i] => 12
            [link] => http://2011.mdday.ru/
            [name] => mdday # russia
        )

    [13] => stdClass Object
        (
            [year] => 2012
            [month] => март
            [month_i] => 3
            [link] => http://msk2012.mobilefest.ru/
            [name] => mobilefest # msk
        )

    [14] => stdClass Object
        (
            [year] => 2012
            [month] => апрель
            [month_i] => 4
            [link] => http://2012.devgarage.ru/
            [name] => devgarage # nn
        )

    [15] => stdClass Object
        (
            [year] => 2012
            [month] => май
            [month_i] => 5
            [link] => http://2012.hackaphone.ru/
            [name] => hackaphone # nn
        )

    [16] => stdClass Object
        (
            [year] => 2012
            [month] => июнь
            [month_i] => 6
            [link] => http://moco2012.mdday.ru/
            [name] => mdday # moco
        )

    [17] => stdClass Object
        (
            [year] => 2012
            [month] => июль
            [month_i] => 7
            [link] => http://by.mdday.ru/
            [name] => mdday # by
        )

    [18] => stdClass Object
        (
            [year] => 2012
            [month] => август
            [month_i] => 8
            [link] => http://ua2012.mdday.ru/
            [name] => mdday # ua
        )

    [19] => stdClass Object
        (
            [year] => 2012
            [month] => сентябрь
            [month_i] => 9
            [link] => http://spb2012.mobilefest.ru
            [name] => mobilefest # spb
        )

    [20] => stdClass Object
        (
            [year] => 2012
            [month] => декабрь
            [month_i] => 12
            [link] => http://2012.mdday.ru
            [name] => mdday # russia
        )

    [21] => stdClass Object
        (
            [year] => 2013
            [month] => март
            [month_i] => 3
            [link] => http://2013.mobilefest.ru/hackaphone/
            [name] => hackaphone#msk
        )

    [22] => stdClass Object
        (
            [year] => 2013
            [month] => март
            [month_i] => 3
            [link] => http://2013.mobilefest.ru/
            [name] => mobilefest # msk
        )

    [23] => stdClass Object
        (
            [year] => 2013
            [month] => июнь
            [month_i] => 6
            [link] => http://moco.mdday.ru/#
            [name] => Mdday#moco
        )

    [24] => stdClass Object
        (
            [year] => 2013
            [month] => август 
            [month_i] => 8
            [link] => http://hackaphone.ru/city/odessa/
            [name] => hackaphone#ua
        )

    [25] => stdClass Object
        (
            [year] => 2013
            [month] => август
            [month_i] => 8
            [link] => http://ua.mdday.ru/
            [name] => mdday#ua
        )

    [26] => stdClass Object
        (
            [year] => 2013
            [month] => сентябрь 
            [month_i] => 9
            [link] => http://spb2013.mobilefest.ru/
            [name] => mobilefest#spb
        )

    [27] => stdClass Object
        (
            [year] => 2013
            [month] => сентябрь
            [month_i] => 9
            [link] => http://hackaphone.ru/city/sankt-peterburg/
            [name] => hackaphone#spb
        )

    [28] => stdClass Object
        (
            [year] => 2013
            [month] => сентябрь 
            [month_i] => 9
            [link] => http://hackaphone.ru/city/kazan/
            [name] => hackaphone#kzn
        )

    [29] => stdClass Object
        (
            [year] => 2013
            [month] => сентябрь
            [month_i] => 9
            [link] => http://roboconf.ru/
            [name] => roboconf#msk
        )

    [30] => stdClass Object
        (
            [year] => 2013
            [month] => октябрь
            [month_i] => 10
            [link] => http://hackaphone.ru/city/voronezh/
            [name] => hackaphone#Воронеж
        )

    [31] => stdClass Object
        (
            [year] => 2013
            [month] => ноябрь
            [month_i] => 11
            [link] => http://hackaphone.ru/city/novosibirsk/
            [name] => hackaphone#Новосибирск
        )

    [32] => stdClass Object
        (
            [year] => 2013
            [month] => декабрь
            [month_i] => 12
            [link] => http://2013.mdday.ru/
            [name] => Mobile Developer & Business Day # Russia
        )

    [33] => stdClass Object
        (
            [year] => 2014
            [month] => февраль
            [month_i] => 2
            [link] => http://hackaphone.ru/city/google-devart/
            [name] => Google DevArt
        )

    [34] => stdClass Object
        (
            [year] => 2014
            [month] => февраль
            [month_i] => 2
            [link] => http://hackaphone.ru/city/penza/
            [name] => Hackaphone#Пенза
        )

    [35] => stdClass Object
        (
            [year] => 2014
            [month] => март
            [month_i] => 3
            [link] => http://hackaphone.ru/city/moscow-winter/
            [name] => Hackapnone#Москва
        )

    [36] => stdClass Object
        (
            [year] => 2014
            [month] => март
            [month_i] => 3
            [link] => http://2014.mobilefest.ru/
            [name] => Mobilefest 2014
        )

    [37] => stdClass Object
        (
            [year] => 2014
            [month] => июнь
            [month_i] => 6
            [link] => http://hackaphone.ru/city/krasnoyarsk/
            [name] => Hackaphone#Красноярск
        )

    [38] => stdClass Object
        (
            [year] => 2014
            [month] => июль
            [month_i] => 7
            [link] => http://mdday.ru/lenta/besplatnyiy-vebinar-mdday/
            [name] => Бесплатный вебинар от MDDay
        )

    [39] => stdClass Object
        (
            [year] => 2014
            [month] => август
            [month_i] => 8
            [link] => http://moscow.startupweekend.org/
            [name] => Startup Weekend#Moscow
        )

    [40] => stdClass Object
        (
            [year] => 2014
            [month] => август
            [month_i] => 8
            [link] => http://hackaglobal.timepad.ru/event/138354/
            [name] => Hacka {Nino}
        )

    [41] => stdClass Object
        (
            [year] => 2014
            [month] => сентябрь
            [month_i] => 9
            [link] => http://mdday.timepad.ru/event/147001/
            [name] => Митап «Бизнес разработчика приложений»
        )

    [42] => stdClass Object
        (
            [year] => 2014
            [month] => сентябрь
            [month_i] => 9
            [link] => http://roboconf.ru/
            [name] => Roboconf
        )

    [43] => stdClass Object
        (
            [year] => 2014
            [month] => октябрь
            [month_i] => 10
            [link] => http://mdday.ru/meropriyatiya/vebinar-dmitriya-zaryutyi-easy-ten-pr-mobilnyih-prilozheniy/
            [name] => Вебинар «PR мобильных приложений»
        )

    [44] => stdClass Object
        (
            [year] => 2014
            [month] => октябрь
            [month_i] => 10
            [link] => http://mdday.timepad.ru/event/149970/
            [name] => Митап «Умные часы Gear 2/S»
        )

    [45] => stdClass Object
        (
            [year] => 2014
            [month] => октябрь
            [month_i] => 10
            [link] => http://online2014.mdday.ru/
            [name] => MDDay Online Marketing Conference
        )

    [46] => stdClass Object
        (
            [year] => 2014
            [month] => ноябрь
            [month_i] => 11
            [link] => 
            [name] => Hackaphone # Minsk
        )

    [47] => stdClass Object
        (
            [year] => 2014
            [month] => ноябрь
            [month_i] => 11
            [link] => http://by.mdday.ru/
            [name] => Mobile Developer & Business Day # BY
        )

    [48] => stdClass Object
        (
            [year] => 2014
            [month] => декабрь
            [month_i] => 12
            [link] => http://appcircus.com/event/mdday-russia
            [name] => AppCircus Russia
        )

    [49] => stdClass Object
        (
            [year] => 2014
            [month] => декабрь
            [month_i] => 12
            [link] => http://light.mdday.ru/
            [name] => Mobile Developer Day # light
        )

    [50] => stdClass Object
        (
            [year] => 2014
            [month] => декабрь
            [month_i] => 12
            [link] => http://hackaphone.ru/city/ekaterinburg/
            [name] => Hackaphone # Екатеринбург
        )

    [51] => stdClass Object
        (
            [year] => 2014
            [month] => декабрь
            [month_i] => 12
            [link] => http://hackaphone.ru/city/perm/
            [name] => Hackaphone # Пермь
        )

    [52] => stdClass Object
        (
            [year] => 2015
            [month] => февраль
            [month_i] => 2
            [link] => http://hackaphone.ru/city/vladivostok/
            [name] => Hackaphone#Владивосток
        )

    [53] => stdClass Object
        (
            [year] => 2015
            [month] => февраль
            [month_i] => 2
            [link] => http://newmarkets.mdday.ru/
            [name] => MDDAY Online: Новые рынки
        )

    [54] => stdClass Object
        (
            [year] => 2015
            [month] => февраль
            [month_i] => 2
            [link] => http://hackaphone.ru/city/kaliningrad/
            [name] => Hackaphone#Калининград
        )

    [55] => stdClass Object
        (
            [year] => 2015
            [month] => март
            [month_i] => 3
            [link] => http://analytics.mdday.ru/
            [name] => MDDAY Online: мобильная аналитика
        )

    [56] => stdClass Object
        (
            [year] => 2015
            [month] => апрель
            [month_i] => 4
            [link] => http://mdday.ru/meropriyatiya/konkurs-kak-zashhitit-smartfon/
            [name] => Конкурс идей по защите информации пользователей моб. платформ
        )

    [57] => stdClass Object
        (
            [year] => 2015
            [month] => апрель
            [month_i] => 4
            [link] => http://design.mdday.ru
            [name] => MDDAY Online: Design&Usability
        )

    [58] => stdClass Object
        (
            [year] => 2015
            [month] => май
            [month_i] => 5
            [link] => http://pm.mdday.ru/
            [name] => MDDAY Online: управление проектами
        )

    [59] => stdClass Object
        (
            [year] => 2015
            [month] => июнь
            [month_i] => 6
            [link] => http://clients.mdday.ru/
            [name] => MDDAY Online: для заказчиков приложений
        )

    [60] => stdClass Object
        (
            [year] => 2015
            [month] => июнь
            [month_i] => 6
            [link] => http://mobdev.mdday.ru/
            [name] => MDDAY Online: мобильная разработка
        )

    [61] => stdClass Object
        (
            [year] => 2015
            [month] => август
            [month_i] => 8
            [link] => http://marketing.mdday.ru
            [name] => MDDAY Online: продвижение и монетизация мобильных приложений
        )

    [62] => stdClass Object
        (
            [year] => 2015
            [month] => сентябрь
            [month_i] => 9
            [link] => http://mmc.innospace.ru/
            [name] => Mobile Marketing Conference
        )

)

Swift предлагает нам интересное будущее

Юрий Слинько / 23.06.2015 1717 0

Чуть больше года назад Apple попыталась совершить революцию в рядах Objective-C разработчиков, представив новый язык программирования Swift. Революция удалась, но полностью переходить на Swift пока никто не спешит.

О том, зачем нужен Swift мы поговорили с Ильей Никокошевым, спикером конференции MDDay Online для разработчиков, которая состоится уже завтра.

unnamed

Илья Никокошев, iOS-разработчик студии «Гиперболоид»

Почему Swift вызвал такой бешеный интерес?

Новости от Apple сами по себе могут «двигать рынок», чем бы они не занялись. Так что сообщество мобильных разработчиков сразу обратило внимание на новый язык программирования, особенно когда стало известно, что его создавал Chris Lattner, знаменитый созданием компилятора LLVM.

Но лично для меня самым главным стало то, что Apple взялась решать некоторые проблемы Objective-C. И, мне кажется, успешно их решила, создав очень мощный инструмент для выражения высокоуровневых идей.

Как давно вы перешли на язык Swift и почему?

Я начал изучать Swift сразу после его появления год назад. Я начал эксперименты с небольшими кусками функциональности, затем перевел всю разработку основной логики приложения на Swift.

Для меня это был очень интересный эксперимент. Работа на другом языке программирования — это как рисование другими инструментами и в другом стиле.

Плюс к тому, мы видели развитие языка в режиме реального времени, например, группа разработчиков Swift обсуждала многие решения на специальных форумах. Пройти это вместе с другими людьми — уникальный опыт, и он стоил многих часов сражений с ошибками в средствах разработки.

Сейчас я вижу, что вещи из тех, которые были предложены обычными разработчиками на форумах, входят в синтаксис языка. Возможно, нам удалось совместно повлиять на эволюцию языка!

Какой у вас опыт программирования на Swift? Над какими проектами работали, и что удалось понять про него?

Приложение для Группы Компаний НЛМК, которое как раз находилось в стадии активной разработки год назад, в результате написано более чем на 50% на Swift. Его запуск в продуктив состоялся в декабре 2014 года.

У меня есть еще несколько тестовых проектов на Swift, но не приложения в Apple Store. Дело в том, что Apple очень активно дорабатывала средства разработки Swift год назад, так что с выходом каждой новой бета-версии надо было загрузить ее и адаптировать код. Заказчик пошел мне навстречу и согласился проводить тестирование на бета-версиях Xcode, но в Apple Store такие приложения выкладывать нельзя.

Даже сейчас мы часто видим крэшы и другие проблемы в средствах разработки. Это основная причина, по которой большинство компаний пока не рассматривает разработку проектов на Swift, но я надеюсь, что очень скоро их мнение изменится.

Кстати, новая бета-версия Xcode намного стабильнее.

Наверняка вы не согласны с тем, что Swift — очередной велосипед. Какие перспективы у Swift?

Помню, когда-то в 90-е годы в академической среде была хорошо известна концепция объектно-ориентированного программирования (ООП), но она не входила в mainstream с точки зрения ремесла: был C++, но люди писали также на C или BASIC. Но с появлением Java был пройден некоторый рубеж: любой разработчик, даже не пишущий на Java, в конце 90-х должен был хотя бы иметь представление об ООП.

Я не уверен, что Swift захватит мир, и даже что он будет настолько популярен как Java, но я надеюсь, что благодаря Swift мы тоже пройдем некоторый рубеж, по отношению к функциональному программированию. Когда мы будем в 2020 году обсуждать минимальный набор знаний разработчика, туда уже будут входить optionals, SequenceType, immutability, инструменты для обработки функций.

На конференции я расскажу об этом подробнее.

Для каких целей больше всего подходит Swift?

На практике разработка и тестирование инструментов разработки компанией Apple пока происходили в рамках разработки OSX- и iOS- приложений, поэтому пока что это основная область применения языка.

Но, опять возвращаясь к концепциям, которые, возможно, впервые придут в mainstream вместе со Swift, такие вещи как встроенные immutability – это парадигма, которая помогает разработке на многоядерных процессорах. Так что я ожидаю увидеть применение языка и в backend, на серверах.

Swift вроде бы задумывался как более безопасный язык в сравнении с Objective-C. Цель достигнута? Но зачем же тогда смешивать Objective-C и более безопасный Swift?​

Да, Swift позволяет нам писать более безопасный код, чем Objective-C, но часто бывает так, что «некрасивость» и «опасность» кода проистекают из дизайна интерфейса, с которым общается наш код. А этот интерфейс в случае с iOS был создан компанией Apple под Objective-C, и никто не будет его переписывать. Такие куски кода, или куски, которые в основном общаются с уже написанным на Objective-C/C++ кодом, может быть проще написать на Objective-C.

Здесь Apple пошла очень правильным путем — мы можем взять существующий проект на Objective-C и добавить в него Swift, нет никакой необходимости выкидывать работающий код.

Кроме того, у меня были случаи, когда компилятор Swift крэшился, и мы возвращались к необходимости написать код на Objective-C. Так что дорога изучения Swift не была полностью ровной, но она все же ведет нас в интересное будущее!

Подписаться на новости

мы будем присылать подборки
самых интересных материалов, не очень часто

Добавить комментарий

Конференция Ladies code «Девушки в IT» пройдет 26 апреля в Москве

Конференция Ladies Code «Девушки в IT» — яркое событие этой весны для всех, кто хочет построить свою карьеру в IТ и интересуется развитием технологий. В этом году событие пройдет...
Алена Войнова / 15.03.2016 1658 0

e-Legion объединяется с Digital Zone

Digital Zone и e-Legion объявили о слиянии и создании холдинга. Из пресс-релиза: "Холдинг будет сочетать компетенции Digital Zone в области высоконагруженной веб-разработки и опыт e-Legion в разработке мобильных приложений и сервисов высокого уровня. В пяти офисах холдинга...
Миша Денисов / 28.05.2013 842 0

На Хакафоне в Красноярске за 30 часов создали приложение, которое помогает найти в любом городе ближайший WC.

Приложение, которое показывает ближайший доступный туалет, будет полезно всем, кто проводит много времени вне дома и офиса, а также туристам в незнакомом городе. В этом точно уверена команда Iceowl,...
Алена Войнова / 11.06.2014 768 0