×Закрыть

iOS дайджест #27: React Native — ну сколько можно, 10 лет AppStore, новинки Swift 4.2

В выпуске: анализ CI сервисов, немного реверс инжинирим, упрощаем себе жизнь с помощью различных инструментов, любуемся Apple design award.

News

Swift Evolution
Судя по обновленному readme, Swift 5 стоит ждать уже в начале следующего года.

CarPlay iOS 12.0 Beta 1 to Beta 2 API Differences
В iOS 12 Beta 2 добавили много новых методов для CarPlay.

The App Store turns 10
App Store исполнилось 10 лет. Эти 10 лет многое изменили в плане бизнеса и потребления контента на мобильных устройствах.

10 years of the App Store: The design evolution of the earliest apps
И еще одна статья про десятилетние: как менялись приложения за эти 10 лет.

Apple Design Awards 2018
Победители Apple Design Awards 2018. Интересно наблюдать, как из года в год меняются тенденции дизайна.

За 4 года в репозитории Swift уже 18000 Pull Requests.

initial checkin, nothing much to see here.
Хоть Swift объявили 4 года назад, ему уже исполнилось 8 лет на самом деле.

Articles

Swift for Android: Our Experience and Tools
React Native не нужен, или как Readdle решили сделать андроид приложение на Swift. Судя по примеру приложения, не очень похоже на чистый Swift. Стоит ли оно того? Думаю, узнаем из новых статей от ребят.

Benchmark of Swift extensions vs methods: Swift 4.1
О боже, о боже, наличие множества экстеншенов замедляет скорость компиляции. Но только эта разница становится значимой, если у вас тысячи методов.

Интересная статистика — чему больше всего уделяют внимания на WWDC. Радует, что в этом году уделили больше времени macOS.

Enabling newly added opt-in features in Xcode 10
Если вы уже пользуетесь Xcode 10, то имеет смысл включить новые фичи.

Custom Intents with SiriKit on iOS 12
Уже подоспели первые туториал по SiriKit. Не забываем, что много из этого доступно в видео с WWDC.

Быстрые команды Siri
А если хотите на русском, то вот (не перевод).

Any[Object]
Тип AnyObject в Swift не такой простой как кажется. В конце статьи есть ряд правил, которые помогут предотвратить неочевидные баги.

The iOS Testing Manifesto
Это уже становится традицией — подробный гайд про тестирование.

Painless Core Data in Swift
Еще немного советов по работе с Core Data.

Continuous Integration Services for iPhone Apps in 2018
Обзор CI сервисов. В конце есть Editor’s Choice.

AvitoTech team playbook
Avito делятся, как у них устроена команда, процессы, а также рассказывают про историю, ценность компании.

iOS Developer Skills Matrix
Матрица Junior-Middle-Senior. Все, конечно, условно и зависит от компании, но все равно забавно посмотреть.

State of React Native 2018

Или все-таки нужен React Native? Facebook работает над новой версией RN, в которой будет легче работать с нативными элементами. При этом старые приложения будет легко адаптировать. Ждем новостей ближе к концу года.

React Native at Airbnb
Цикл статей из 5 статей от Airbnb, где они рассказывают о своем двухлетнем опыте использования React Native. Если коротко, то поигрались и хватит. Но опыт интересный в любом случае.

The Case for React Native
А Эш рассказывает, как ему нравится RN. Решать вам, использовать или нет.

Airbnb and React Native Expectations
А потом решил прокомментировать статьи от Airbnb. Тоже интересное мнение.

React Native: A retrospective from the mobile-engineering team at Udacity
И еще одна компания попробовал RN и отказалась. Статья странноватая, но все же.

What we learned about CI/CD analysing 75k builds
Интересная статистика по поводу использования CI в мобильных проектах.

The Story Behind Susan Kare’s Iconic Design Work for Apple
История создания иконок для первых макинтошей.

iPad Navigation Bar and Toolbar Height Changes in iOS 12
Просто взяли, поменяли высоты навигейшен бара или таббара и никому не сказали. Молодцы Apple.

How to Use Slack and Not Go Crazy
Несколько советов, как работать со Slack, чтобы жизнь была немного проще.

A Year of Monument Valley 2
Monument Valley подвели итоги года. Там же доступны итоги прошлых лет. Интересно наблюдать, как вырос китайский рынок.

Reverse Engineering Instruments’ File Format
Почему бы не пореверс-инженерить формат файла инструментов в Xcode?

Code

What’s new in Swift 4.2
Xcode 10 c поддержкой Swift 4.2 выйдет осенью, а пока можно потыкать бету и посмотреть, какие фичи нас ждут.

Swift’s new calling convention
Новый calling conventions в Swift 4.2 должен улучшить производительность за счет сокращения вызовов retain, release. Ждем бенчмарки.

Icon for File with UIKit
Получаем картинки для разных типов файлов. В общем-то, это достаточно популярный подход в macOS, в CleanMyMac мы его тоже часто используем.

Writing self-documenting Swift code
Я всегда за то, чтобы использовать переменные или функции вместо комментариев, которые устаревают, теряются или еще что-то. На эту тему есть еще хорошая шутка. Джон рассказывает еще про несколько подходов, как сделать код самодокументируемым.

Making Swift tests easier to debug
Ни один дайджест не обходится без статей от Джона. Читаемость тестов не менее важна, чем читаемость самого кода, так как это пример того, как использовать код и они зачастую полезнее любой документации.

Swift Diagnostics: #warning and #error
Возможно, вы уже видели, что в Swift 4.2 добавили #warning и #error. Но как это реализовано под капотом?

Enumerating enum cases in Swift
Наконец-то можно получить все cases в enum и не хардкодить это каждый раз.

Swift Tip: Quick Performance Timing
Небольшой сниппет, как замерить скорость выполнения какой-либо операции.

Exploring @dynamicMemberLookup
Долгожданный динамизм добавили даже раньше времени — в Swift 4.2. Вспоминаем что это такое и еще полезный хак, как не выстрелить себе в ногу.

Finding Non-localized Strings
Всего один ключ поможет найти не локализованные строки в приложении.

@autoclosure what, why and when
Никогда не использовал и уже забыл, что такое есть в Swift. Кто-то его использует?

Tools & Libs

Xcode для iPad, почему бы и нет.

MarzipanTool
Хотите попробовать запустить iOS приложение на macOS? Тогда этот репозиторий специально для вас.

xcprojectlint
Был линтер для IB, должен быть и линтер для файлов проекта.

iOSLocalizationEditor
Довольно удобное приложение для редактирования файлов локализации.

Extensible mobile app debugger
Facebook выпустил платформу для дебага мобильных приложений с десктопным приложением и плюшками. Кто уже успел попробовать?

Sift app
Приложение, которое показывает запросы в сеть от всех приложений. В AppStore такое не пустят, так что можно только сбилдить тебе на устройство.

Check if UIImage exists in assets in compile time
Если вы не пользуетесь SwiftGen, R.swift или другим подобным решением, либо все еще пишите на Objective-C, то это может стать полезной находкой. Скрипт проверяет наличие используемых картинок в проекте.

NonEmpty
Библиотека, которая гарантирует на этапе компиляции, что коллекция будет непустая 😱

Bartinter
Если контент приложения налазит на статус бар, по-любому будет ситуация, когда он совпадет с фоном. Чтобы не париться, можно взять библитеку, которая определяет яркость фона и меняет цвет статус бара.

SwiftServerSide-Vapor
Вроде довольно неплохой пример приложения на Swift 4.1 и Vapor 3. На китайском, правда, но если хотите сделать регистрацию, какой-то фид и прочее на Vapor, то можно посмотреть.


← Предыдущий выпуск: iOS дайджест #26
Следующий выпуск: iOS дайджест #28

LinkedIn

4 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Подборка гуд, но для локализации iString гуд приложуха

Спасибо, классная подборка.
allCases для enum это конечно жирно))

App Store исполнилось 10 лет.

Мне показалось, или в App Store сейчас только на iOS есть что-то хорошее? А для Mac можно скачать разве что Pages, iMovie, XCode, остальное трэш какой-то. Даже Microsoft Store сейчас интереснее.

Подписаться на комментарии