Рубрика «iOS» - 30

Все эти слова гораздо сильнее связана с мобильной разработкой, чем кажется на первый взгляд: гексагональные ускорители уже помогают обучать нейронные сети на мобильных устройствах; алгебра и матан пригодится, чтобы устроиться работать в Apple; а GPU-программирование не только позволяет ускорять приложения, но и учит видеть суть вещей.

Во всяком случае, так говорит руководитель мобильной разработки Prisma Андрей Володин. А еще о том, как идеи перетекают в мобильную разработку из GameDev, чем отличаются парадигмы, почему в Android нет нативного размытия — да много еще чего, продуктивный вышел выпуск AppsCast. Под катом поговорим про доклад Андрея на AppsConf без спойлеров.

GPU, гексагональные ускорители и линейная алгебра - 1
Читать полностью »

Reaktive — мультиплатформенная библиотека для реактивного Kotlin - 1

Многие сегодня любят реактивное программирование. В нём масса плюсов: и отсутствие так называемого "callback hell", и встроенный механизм обработки ошибок, и функциональный стиль программирования, который уменьшает вероятность багов. Значительно проще писать многопоточный код и легче управлять потоками данных (объединять, разделять и преобразовывать).

Для многих языков программирования существует своя реактивная библиотека: RxJava для JVM, RxJS — для JavaScript, RxSwift — для iOS, Rx.NET и т. д.

Но что мы имеем для Kotlin? Было бы логично предположить, что RxKotlin. И, действительно, такая библиотека существует, но это всего лишь набор расширений (extensions) для RxJava2, так называемый «сахар».

А в идеале хотелось бы иметь решение, соответствующее следующим критериям:

  • мультиплатформенность — чтобы иметь возможность писать мультиплатформенные библиотеки с использованием реактивного программирования и распространять их внутри компании;
  • Null safety — система типов Kotlin защищает нас от «ошибки на миллиард долларов», так что значения null должны быть допустимы (например, Observable<String?>);
  • ковариантность и контравариантность — ещё одна очень полезная особенность Kotlin, дающая возможность, например, безопасно привести тип Observable<String> к Observable<CharSequence>.

Мы в Badoo решили не ждать у моря погоды и сделали такую библиотеку. Как вы уже могли догадаться, назвали мы её Reaktive и выложили на GitHub.

В этой статье мы подробнее рассмотрим ожидания от реактивного программирования на Kotlin и увидим, насколько им соответствуют возможности Reaktive.
Читать полностью »

Привет! Представляю вашему вниманию перевод статьи «Swift 5.0: How to migrate your project and frameworks» автора Antoine Van Der Lee.

Swift 5.0 был выпущен в марте 2019 года и является первым стабильным выпуском ABI Swift. Несмотря на то, что многие ресурсы освещают новые возможности Swift 5.0, они не часто рассказывают вам о том, что вам нужно сделать, чтобы обновить свой проект до Swift 5.0.

В этом посте я рассмотрю шаги, которые вы можете предпринять, чтобы обновить существующий проект до Swift 5.0.

Проверьте, что ваш проект уже перенесен в Swift 4.2.

Не удивлюсь, если эта статья поможет убедить вашего продакт-менеджера спланировать время для перехода.

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

Particle systems: a Christmas story - 1

Christmas has always been one of my favourite times of the year. For me, Christmas is a season that brings so much love, laughter, happiness, and other magical things into our lives.

I was born and raised in Spain, more specifically in Tenerife, a sunny subtropical island in the middle of the Atlantic Ocean just off the African coast. I have to say that Christmas in Tenerife is very different to my the last two Christmases I’ve spent in London since joining Badoo.

One amazing plus of living in London is that I have got to see snow for the first time in my life, real snowflakes falling from the sky. Just incredible!

Talking of snowflakes, I have an interesting story to tell you about something that happened to me one day in the office the last Christmas.  It was right before I was heading home to Tenerife to spend a few days with my family.

It just so happened that last December I’d been assigned a very interesting ticket with the following description
Читать полностью »

Система частиц в Core Animation. Рождественская история - 1

Всем привет!

Рождество давно прошло, но после него у нас осталась занимательная история о том, как при помощи нечасто используемой возможности Core Animation можно создать пользователям праздничное настроение. Делюсь переводом статьи моего лондонского коллеги Алексиса.

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

Я родился и вырос в Испании, на Тенерифе — солнечном острове посреди Атлантического океана недалеко от побережья Африки. И, поверьте мне, Рождество на Тенерифе сильно отличается от Рождества в Лондоне, где я встречал его последние два года (с тех пор как начал работать в Badoo).

Одним из преимуществ жизни в Лондоне для меня стало созерцание снежинок. Здесь я увидел их впервые в жизни, это было просто невероятно!

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

Так уж случилось, что мне поручили одну необычную задачу со следующим описанием:
Читать полностью »

В Новосибирске прошла юбилейная, десятая конференция CodeFest. Программа была очень насыщенной: десять секций о разработке, тестировании, дизайне, управлении и развитии. Сотрудники True Engineering два дня конспектировали доклады, теперь хотим поделиться этой пользой с вами.

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

Обзор самых интересных докладов CodeFest 2019: версия True Engineering - 1
Читать полностью »

Как известно, некоторые авторы на YouTube крайне недовольны условиями, которые предлагает эта платформа. Аналогичное сражение сейчас ведут разработчики Android-приложений на платформе Google Play. Попытаюсь за 20 минут объяснить, что не так с Android.

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

Раньше основные релизы Android приносили новые функции, которые радовали и разработчиков, и пользователей. Но с какого-то момента я уже начал бояться анонсов новых версий, и до сих пор ищу в себе силы (хех), чтобы посмотреть на список изменений и рекомендации для разработчиков к последнему релизу. И новые версии — это не единственная причина для нервотрёпки: изменения в политике Google Play Store тоже всегда забавно читать.
Читать полностью »

Видео докладов с FunTech iOS-meetup #1 - 1

23 марта команда FunTech Meetups провела свой первый собственный iOS-meetup, с которого сегодня выкладываем видео докладов.

«Крутим RunLoop. Как устроена лента ВКонтакте», Александр Терентьев, VK

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

Авторы приложения родительского контроля Kaspersky Safe Kids для iOS, подали в ФАС жалобу на Apple — владельца магазина приложений App Store. «Лаборатория Касперского» около трёх лет распространяла Kaspersky Safe Kids через App Store, но дальнейшая дистрибуция приложения невозможна. Apple создали собственное решение контроля, а затем поменяли правила модерации в магазине, Читать полностью »

Apple вчера выпустила новые iPad, и к ним есть вопросы - 1

Несколько часов назад Apple (довольно неожиданно) представила iPad Air и новый iPad mini. Они появились в продаже у неё в магазине. На этот раз компания не стала устраивать большую презентацию с тысячей журналистов. Вместо этого они просто вывесили анонс в сврем блоге. Новые девайсы впечатляют своими характеристиками. Но для невнимательных пользователей они могут обернуться лишней головной болью.Читать полностью »


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