Рубрика «разработка мобильных приложений» - 17

В конце марта вышел релиз Swift 5.2 для Xcode 11.4. В нём улучшена диагностика ошибок, анализ зависимостей, расширен функционал SwiftPM. Обзор некоторых изменений уже был опубликован на Хабре, в этой же статье рассмотрена эволюция самого языка с возможными примерами использования.

Swift 5.2. Обзор всех изменений - 1
 Читать полностью »

В 2010 году мой друг на день рождения попросил в подарок переводную книгу по разработке под Android. Необычных вещей в этом факте было две: книгу было не достать, а он работал самым простым госслужащим и имел гуманитарное управленческое образование. Я удивился, но книгу достал — привёз из поездки в Москву. Через два месяца после вручения подарка он сидел со мной в кафе и тыкал в экран мобильника, демонстрируя первое приложение, связанное с учётом товара для одной компании — свой первый заказ. Я работал инженером в телекоме и концептуально идею оценил, но не думал, что мобильная разработка будет всюду. Кстати, друг за приложение взял $300, заказчик отпахал на нём два года с лишним. Ну а друг упорно качал скиллы, развивал то самое приложение бесплатно и в итоге стал мобильным разработчиком в огромной компании. 

Сегодня в мобильную разработку рвутся все: от инженеров до филологов. Им кажется, что они нашли золотую жилу и она вот-вот даст миллионные доходы. А между тем найти хорошего мобильного разработчика не так уж просто. Потому что хорошее приложение — это сложная архитектура, скрупулёзное проектирование и интенсивная работа над юзабилити. На коленке его не запилишь.

Профессия: мобильный разработчик - 1

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

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

Дайджест интересных материалов для мобильного разработчика #339 (30 марта — 5 апреля) - 1Читать полностью »

Введение

Приложение вышло -> увидели тихий ужас -> начали писать отрицательные отзывы -> разобрали по полочкам -> приложение удалили (отправили на доработку).

Всем привет, в данной статье, когда всё миновало, я хочу рассказать Вам о двух ключевых стадиях из перечисленных выше.

Что за приложение можно почитать тут.
А про оправдания и отправку на доработку тут.

Под катом мы посмотрим с Вами что же такого увидели в самом начале разбора приложения и пробежимся полностью по интересным моментам из кода. Насладимся дырявостью приложения и ни в какую не будем принимать “посмотрите за какие мы сроки это сделали”.

Предыстория

Для меня началось всё в Telegram канале “IT и COPM”. Далеко не сразу увидел пост с ссылкой на приложение в Play Market’e и apk’шку ниже. Только спустя минут 30, от количества постов в этом канале, я решил почитать. На тот момент ребята уже декомпилировали приложение и активно смотрели куда отправляются данные. Выдернули некоторые эндпоинты, хосты, токен, начали постить скриншоты кусков кода. Приложив apk’шку попросили кого-нибудь опубликовать декомплированный код на GitHub — спустя полтора часа он был выложен. Тут подключился я…
Читать полностью »

Чиним сериализацию объектов в Kotlin раз и навсегда - 1

Недавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve к каждому объекту, который наследуется от java.io.Serializable.

Этот способ выглядит абсолютно правильным, однако его поддержка может оказаться слишком проблематичной. С учетом того, что в нашем проекте эта проблема возникала только при использовании объектов внутри Bundle, мы решили использовать проверку через is для каждой ветки when-выражений в случае sealed классов.

Тем не менее, размышляя об этом, я никак не мог понять, почему Kotlin не генерирует readResolve в компиляторе, поддерживая singleton-свойства объектов. Мне казалось, что это работа для инструментов, а не для человека. Но раз Kotlin не добавляет эту функцию сам, мы можем ему помочь! Этим мы сейчас и займёмся.

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

Обычно мы рассказываем о том, что и как используем в своей работе над приложением iFunny. Но сегодня особенный день — 1 апреля, День смеха, и этот день мы считаем своим профессиональным праздником. Ведь мы «пилим» самое смешное из всех развлекательных приложений — приложение с мемами!

Топ-10 мемов прошедшего десятилетия - 1

Да, мемы стали настолько популярны в интернете (ими обмениваются люди всех возрастов, от школьников до пенсионеров), что в некоторых компаниях даже появились должности «мемологов» — людей, которые разбираются в мемах и используют их для продвижения в соцсетях и на других медиа-площадках.

И сегодня мы предлагаем вспомнить, что породило огромное количество мемов и над чем больше всего смеялись в интернете за последнее десятилетие (подборка основана на рейтингах разных американских интернет-изданий, мы выбрали по одному из них за каждый год).
Читать полностью »

Apple предоставляет различные варианты обработки данных и событий в iOS приложениях. Обработка событий UIControl происходит через паттерн target-action. В документации к UIControl написано следующее:

The target-action mechanism simplifies the code that you write to use controls in your app

Посмотрим на пример обработки нажатия на кнопку:Читать полностью »

image

Введение

Когда в январе 2019 года мы начали обсуждать нашу новую игру tint., то сразу решили, что важнейшим элементом будет эффект акварели. Вдохновлённые этой рекламой Bulgari, мы понимали, что реализация рисования акварелью должна соответствовать высокому качеству остальных ресурсов, которые мы планировали создать. Мы обнаружили интересную статью исследователей из Adobe(1). Описанная в ней техника создания акварели выглядела замечательно, а благодаря своей векторной (а не пиксельной) природе она могла работать даже на слабых мобильных устройствах. Наша реализация основана на этом исследовании, мы изменили и/или упростили отдельные его части, потому что наши требования к производительности были другими. tint. — это игра, поэтому кроме самого рисования нам нужно было в одном кадре рендерить всё 3D-окружение и выполнять игровую логику. Также мы стремились к тому, чтобы симуляция выполнялась в реальном времени и игрок сразу видел нарисованное.
Читать полностью »

В нашей новой подборке для домашнего чтения быстрый переход на удаленную работу, хождение по граблям Arduino, рассказы интерфейсов и запах кода, лучшие издатели и вызовы сеток. Берегите себя!

Дайджест интересных материалов для мобильного разработчика #338 (23 — 29 марта) - 1Читать полностью »

Когда я устраивалась в Skyeng, солнце светило чуть ярче, трава зеленее не была (шла такая же ранняя весна), а тимлид попросил записывать в Jira, сколько времени ушло на кодинг, а сколько на разговоры и ревью. Хотя бы раз в две недели.

Я — Android-разработчик, и мне не нравилось вести ворклоги вручную - 1
«По этим данным мы пробуем понять, надо ли корректировать эстимейты и нет ли проблем в коммуникации в команде», — говорили они. А вот кто такой «бабайка», так и не рассказали..

Поскольку мы все удалёнщики, идея звучала разумно. Да и мне стало интересно, куда девались эти восемь часов: вот прошли, но за чем именно? Однако логировать было непривычно. И вообще лень. Тогда я решила поискать что-нибудь, что будет вести ворклоги за меня. А в процессе исследования немного увлеклась и написала свой плагин для IntelliJ IDEA.

Ниже вы найдете субъективный обзор готовых инструментов и мой велосипед (с исходниками).
Читать полностью »


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