В этом большом выпуске мы рассказываем про производительность, аналитический допинг, дополненную реальность, платформу реального мира от создателей игры про покемонов, закат React Native в отдельно взятом Airbnb и даже про то, как не получить работу.
Рубрика «swift» - 25
Дайджест интересных материалов для мобильного разработчика #259 (25 июня — 1 июля)
2018-07-01 в 12:45, admin, рубрики: arkit, Google Play, ios12, kotlin, swift, unity, Блог компании Everyday Tools, дизайн, интерфейсы, искусственный интеллект, маркетинг мобильных приложений, машинное обучение, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSПишем UI Snapchat’а на Swift’е
2018-06-30 в 20:35, admin, рубрики: iOS, Snapchat, swift, UI, UX, разработка под iOSПролог
В одном из моих проектов потребовалось сделать интерфейс наподобие такового в Снепчате. Когда выезжает карточка с информацией поверх изображения с камеры, плавно его заменяя на сплошной цвет, и точно также в обратную сторону. Меня лично особо заворожил переход из окна камеры в боковую карточку, и я с огромным удовольствием отправился ресерчить способы решения данной задачи.
Слева — пример Снепчата, справа — пример приложения, созданием которого мы займемся.
Clean swift архитектура как альтернатива VIPER
2018-06-29 в 16:16, admin, рубрики: clean architecture, iOS, ios development, swift, swift 4, разработка под iOSВведение
На данный момент существует множество статей про VIPER — clean архитектуру, различные вариации которой в свое время стали популярны для iOS проектов. Если вы не знакомы с Viper, можете прочитать тут, тут или тут.
Я бы хотел поговорить об альтернативе VIPER — Clean Swift. Сlean Swift на первый взгляд похож на VIPER, однако отличия становятся видны после изучения принципа взаимодействия модулей. В VIPER основу взаимодействия составляет Presenter, он передает запросы пользователя Interactor’у для обработки и форматирует полученные от него назад данные для отображения на View Controller:
Новичок или опытный? Как нанять мобильного разработчика под iOS, который что-то действительно умеет
2018-06-29 в 10:02, admin, рубрики: acronis, iOS, swift, Блог компании Acronis, Inc, разработка, разработка мобильных приложений, разработка под iOSМобильная разработка — это особая кухня, и в ней есть свои нюансы. Именно поэтому собеседования с кандидатами в отдел разработки под iOS должны проходить с определенным уклоном. Сегодня мы расскажем, как проходит прием в штат мобильных разработчиков Acronis, и какие курьезы бывают на собеседованиях, когда соискатель считает, что достаточно запомнить несколько умных слов, а потом «разберемся на месте».
Производительность в iOS — Core Animation, Offscreen Rendering и System Trace. Часть 2
2018-06-28 в 10:37, admin, рубрики: Conference, fyusion, iOS, ios development, mbltdev, objective-с, swift, swift development, Блог компании e-Legion, высокая производительность, разработка мобильных приложений, разработка под iOS, рендеринг, ускорение верстки, ускорение графикиКак избежать проблем с производительностью с помощью пресета Core Animation, что использовать для трассировки участков кода и с помощью каких функций сократить долю вычислительных операций в приложении с 26% до 0.6% — читай во второй части статьи по материалам доклада Люка Пархэма на прошлогодней конференции MBLT DEV. Первая часть статьи доступна здесь.
Под катом не только полезные советы, но и последние early bird билеты на MBLT DEV 2018 — купить их можно только сегодня.
Производительность в iOS или как разгрузить main thread. Часть 1
2018-06-25 в 11:11, admin, рубрики: Conference, fyusion, iOS, ios development, mbltdev, objective-с, swift, swift development, Блог компании e-Legion, высокая производительность, разработка мобильных приложений, рендеринг, ускорение верстки, ускорение графикиЕсть разные приёмы и хитрости, которые помогают оптимизировать работу iOS-приложений, когда одна задача должна выполняться за 16,67 миллисекунд. Рассказываем, как разгрузить main thread и какие инструменты лучше подходят для отслеживания стека вызовов в нём.
«Ребята, давайте представим, что вы сможете сократить время запуска на 10 секунд. Умножив это на 5 миллионов пользователей, ежедневно у нас будет 50 миллионов секунд. За год это составит порядка десяти человеческих жизней. Поэтому, если вы сделаете первичную загрузку на 10 секунд быстрее, вы спасёте несколько десятков жизней. Это действительно стоит того, не правда ли?»
Стив Джобс о производительности (времени запуска компьютера Apple II).
Статья основана на докладе iOS-разрабочика из Fyusion Люка Пархема, с которым он выступил на Международной конференции мобильных разработчиков MBLT DEV в прошлом году. Читать полностью »
Изометрия, z-индексы в мобильных играх и их оптимизация
2018-06-25 в 5:11, admin, рубрики: Gamedev, iOS, objective-c, spritekit, swift, xcode, z-index, изометрия, разработка мобильных приложений, я пиарюсь
Привет! Недавно мы вышли в релиз с нашей игрой, которую долго и упорно готовили и в процессе которой накопилось немалое количество интересных тем, которыми стоит поделиться с сообществом. Тема будет интересна далеко не только iOS и иным мобильным разработчикам, но и всем тем, кому интересно, как всякие графические вещи работают под капотом, а также всем фанатам 2D-стратегий, коим уже третее десятилетие являюсь я сам.
Читать полностью »
Дайджест интересных материалов для мобильного разработчика #258 (18 июня — 24 июня)
2018-06-24 в 15:15, admin, рубрики: arkit, Google Play, kotlin, progressive web apps, react native, swift, Блог компании Everyday Tools, искусственный интеллект, маркетинг мобильных приложений, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSВ новом дайджесте рассказываем про быстрые команды Siri и заработок своим умом, дополненную реальность для музеев и дизайн для финтеха, снова про поиск работы и закат React Native, PWA и даже то, как не застрять в обучении. Подключайтесь!
Swift 4.1: почему Apple переименовала flatMap в compactMap
2018-06-21 в 15:01, admin, рубрики: flatmap, iOS, swift, Блог компании Badoo, мобильная разработка, Программирование, разработка мобильных приложений, разработка под iOSПривет!
Меня зовут Александр Зимин, я iOS-разработчик в Badoo. Это перевод статьи моего коллеги Швиба, в которой он рассказал, что из себя представляла функция flatMap в Swift и почему одну из её перегрузок переименовали в compactMap. Статья полезна как для понимания процессов, происходящих в репозитории Swift и его эволюции, так и для общего развития.
В функциональном программировании есть чёткое определение того, что должна представлять собой функция flatMap
. Метод flatMap
берёт список и преобразующую функцию (которая для каждого преобразования ожидает получить ноль или больше значений), применяет её к каждому элементу списка и создаёт единый (flattened) список. Такое поведение отличается от простой функции map
, которая применяет преобразование к каждому значению и для каждого преобразования ожидает получить только одно значение.
Читать полностью »
Получение удаленные данных в iOS. Swift 3 версия
2018-06-17 в 18:08, admin, рубрики: api, iOS, swift, swift 3, разработка под iOSДанная статья является обновлением статьи Получение удаленных данных в iOS, написанной в ноябре 2015 с использованием Objective-C и потому морально устарешней. Сейчас же будет приведен код, переписанный на Swift 3 и iOS 10 (последней версией является Swift 4.1 и iOS 11, но мой компьютер их уже не поддерживает).
Краткая теория
Формат url
http://www.google.com/?q=Hello&safe=off
- http — протокол, который определяет, по какому стандарту делается запрос. Еще варианты: https, ftp, file
www.google.com
— имя домена- / — директория, где находятся необходимые нам ресурсы.
- После вопросительного знака (?) идут параметры q=Hello&safe=off. Они состоят из пар ключ-значение.
- При запросе также указывается метод, который говорит, как сервер должен обрабатывать этот запрос. По умолчанию, это метод GET.
Данный url из примера можно прочитать таким образом: http запрос с методом GET отправляется домену google.com, в корневую директорию /, с двумя параметрами q со значением Hello и safe со значением off.
Читать полностью »