Рубрика «iOS»

image

В феврале 2009 года СМИ по всему миру начали рассказывать о «вундеркинде» — девятилетнем сингапурском мальчике по имени Лим Динг Вен, ставшем самым юным разработчиком приложений для iPhone.

Он создал приложение Doodle Kids, позволяющее рисовать пальцами на экране iPhone. За две недели его скачали более четырёх тысяч раз.

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

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

Однако он считает, что «рынок приложений для мобильных телефонов пересыщен» и что он пробует себя в других проектах с использованием новых языков и программированием интегральных схем.
Читать полностью »

Уроки Symbian OS — фиаско топ менеджеров, колосс на глиняных ногах, или неотвратимость бытия? - 1

Страшно представить как летит время, но 1 января 2021 года стало уже 7 с того момента, когда корпорация Nokia прекратила поддержку Symbian OS. В 2014 году разработчики ОС окончательно поставили крест на еще недавнем монополисте в сегменте мобильных операционных систем. Как такое вообще возможно? Всего за 2-3 года из абсолютного лидера превратится в безусловного аутсайдера полностью утратив рынок новых девайсов и еще через пару лет стать официально похороненной платформой.

Как-то полемизируя с коллегой о жизненном цикле ПО прозвучала фраза, что как и любой живой организм программы также имеют свои стадии — рождения, становления и конечно же смерти. Более того, развивая свою мысль мой оппонент утверждал, что благодаря интенсификации технологического прогресса, с каждым новым десятилетием этот жизненный цикл программных продуктов сокращается. При некоторой очевидной схожести процессов протекающих в цифровом мире и мире живой природы, все же на сколько корректно такое сравнение? По сути, если оценить статистику распространенности ИТ-сервисов в мире, за последние лет 30, можно констатировать, что мы с вами стали свидетелями грандиозных, по своим масштабам, взлетов и падений. То, о чем 20 лет назад можно было услышать лишь в «курилках» кремниевой долины, через 10 лет покоряет мир. То, что еще 10 лет назад казалось вечным и непоколебимым — сейчас валяется в руинах. Если мой коллега действительно прав в своих аналогиях, в каком мире мы окажемся через 10 лет? Реальность где OS Android скатилась к околонулевой доле рынка, а ее официальная поддержка прекратилась и осуществляется сообществом маргиналов-олдфагов, а корпорация Apple тем временем продала свое мобильное подразделение и занялась выпуском «микроволновок».

Так все же почему умер Symbian OS? Стратегические ошибки менеджмента, критические изъяны архитектуры, заложенные еще в первые годы становления системы, или все же фатальная неотвратимость жизненных циклов? Об этом и не только мы далее поговорим в статье.
Читать полностью »

Как мы в 2 раза увеличили скорость формирования ленты в UGC-приложении - 1

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

Читать полностью »

Как мы ускоряли работу отладчика Swift - 1

Привет! Меня зовут Александр Скворцов, я работаю в команде Яндекс.Браузера для iOS. Это очень большой проект, который насчитывает около тысячи clang-модулей и примерно 600 Swift-модулей. Наверное, из-за таких масштабов мы чаще других наталкиваемся на проблемы инструментов разработки, например, находим критические ошибки в компиляторе, неработающую подсветку и автодополнение. Это бывает неприятно, но жить можно. 

Читать полностью »

Как я делаю цифровую минигитару. Часть 2 - 1

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

Напомню какие требования к девайсу я поставил, когда начинал разработку:

  • Устройство должно имитировать гитару с 6-ю струнами и 12-ю ладами на грифе

  • Должно быть компактным, в идеале складным, чтобы можно было брать его с собой куда угодно

  • Читать полностью »

Как создать виджет для iOS 14 (и не удалить его у пользователей при обновлении) - 1

Одно из нововведений в iOS 14 — виджеты. Мы стали готовиться к этому событию задолго до официального релиза, чтобы они появились у пользователей приложения Яндекс уже на старте. В этом посте я расскажу об опыте разработки виджетов в условиях нестабильного бета-окружения, неполной документации и отсутствия готовых решений для возникающих проблем.

Помимо обзорной информации, под катом — истории о том, почему нельзя просто взять и добавить настройки в виджет (спойлер: можно случайно удалить виджет установившим его пользователям), и как даже новейшие Swift-only API иногда страдают от наследия Objective-C. Материал будет полезен как тем, кто привык разбираться во всём новом, находя готовые гайды в интернете, так и тем, кто предпочитает официальную документацию.

Читать полностью »

Модуляризация iOS-приложения Badoo: борьба с последствиями - 1

В предыдущей статье я рассказывал о том, как мы выделили модуль чата в нашем приложении. Всё прошло успешно, и мы собирались распространить этот опыт — начать тотальную модуляризацию в iOS-разработке Badoo. Даже презентовали подход продуктовым командам, командам, занимающимся тестированием и непрерывной интеграцией, и постепенно стали внедрять модуляризацию в наши процессы. 

Читать полностью »

Привет!

В последнее время Яндекс изо всех сил пытается испортить свои мобильные приложения, превращая их в «суперапп», будь это слово неладно. И одно из двух приложений компании, для которых такое направление развития наиболее заметно — это такси.

Не так давно его переименовали в «Яндекс Go», допихнув заодно внутрь Еду, Лавку, общественный транспорт, кучу рекламы. И здесь-то я вероломно, без объявления войны наткнулся на проблему, которая в конечном счёте послужила идеей для написания сией микростатьи.

Читать полностью »

Чаты на вебсокетах в iOS, если у вас WAMP - 1

Разработка заняла примерно 9 месяцев, а я занимался реализацией клиент-серверного общения по сокету для iOS. Особенности нашей ситуации:

  1. Поддержка старых версий iOS, где нативных методов для общения по сокетам ещё не было — пришлось искать рабочую библиотеку и фиксить баги.
  2. Протокол WAMP на бэкенде — предстояло научить клиент декодировать any, декодировать протоколы и создать объект, который отвечает за отправку и приём сообщений.

Примечание: описанные ниже способы декодирования, можно применить и в других задачах.
Читать полностью »

Небольшая история от том как я стал разработчиком игр. Постараюсь осветить проблемы, с которыми я столкнулся на своем пути, и поделиться некоторыми цифрами. Программистом работаю давно, с 2001 года, компьютерами занимаюсь с детства, но играми начал заниматься лишь в начале 2014 года. И катализатором этого стала статья на Хабре. Где-то в начале 2014го, читая статейки на Хабре, я нашел статью про то, как один молодой человек сделал простенькую игру для ВК. Простая игра про сражение на самолетиках в 2D. Про саму игру в статье было мало, но меня заинтересовало то, что ему предложили продать игру за 700 баксов. Он отказался и потом пожалел, так как игра принесла ему только убытки. И эта «история успеха» как-то меня вдохновила.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js