iOS-дайджест №4 (5 апреля – 26 апреля)

в 12:24, , рубрики: apple, iOS, machine learning, swift, Блог компании JUG.ru Group, разработка под iOS

iOS-дайджест №4 (5 апреля – 26 апреля) - 1

Привет! Это новый выпуск дайджеста про новости iOS-разработки для iOS-разработчиков и не только (начинается дайджест с общих Apple-новостей, интересных более широкому кругу). Все предыдущие выпуски можно найти на VK-странице, а в этот раз экспериментально пробуем более привычную и удобную для российского IT площадку.

Интересно послушать ваши отзывы о формате и пожелания в комментариях.

Новости Apple

  • Близится ежегодная презентация WWDC, а значит, стоит ожидать утечек и инсайдов о нововведениях для пользователей iOS и новых возможностях для разработчиков. Например, в 13-ой версии iOS будет возможность включать в системе Dark Mode, так горячо любимый пользователями Mac. Также улучшится многозадачность на iPad, и появится новый жест для операции Undo — видимо, трясти 13-дюймовый iPad Pro очень неудобно.
  • Вдобавок Apple приоткроет занавес системного API: расширится количество поддерживаемых для чтения стандартов NFC (добавится поддержка ISO7816, FeliCa и MiFare тегов), появится возможность обновлять модели CoreML на лету (сейчас модели статичны и не могут быть дообучены в процессе работы без обновлений приложения). Приложения смогут импортировать фотографии напрямую с внешних накопителей, и пользователям не потребуется добавлять фотокарточки в приложение Photos перед использованием в Lightroom-подобных программах.
  • Компания Canalys прогнозирует, что количество умных колонок практически удвоится в этом году по сравнению с предыдущим. Видимо, уже скоро появятся соответствующие специализации и вакансии “HomePod Developer” c требованием пяти лет программирования приложений для колонок.
  • Apple — довольно успешная компания, и многим хочется заполучить себе часть этого успеха. Не прошло и месяца с прошлого случая, как студенты вновь используют смекалку, чтобы разбогатеть за счёт компании: на этот раз подросток подал в суд на неё, утверждая, что ПО для распознавания лиц привело к ложному аресту. Apple, конечно же, не стала затягивать с ответом.

Новости Swift

  • Дженерики в Swift были ещё с первых версий и анонсировались как одна из основных фич языка, хотя тогда они имели более строгие ограничения, а их использование вкупе с Protocol Oriented Programming могло давать интересные результаты. Например, вот как выглядела часть программного интерфейса по работе с коллекциями стандартной библиотеки:

    iOS-дайджест №4 (5 апреля – 26 апреля) - 2

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

    protocol Shape {
        associatedtype Renderer
        var renderer: Renderer { get }
    }
    
    func allEncompassingShape() -> some Shape
      // Вместо сложного `<T: Shape> T` возможно писать лаконичное `some Shape`
    
    func union(_ leftShape: some Shape, _ rightShape: some Shape) -> some Shape
      // `some` может быть использован в сигнатуре несколько раз для каждого нового типа

  • А помните, был такой язык C++? На самом деле, конечно, он жив и продолжает активно развиваться, но в интернете его опять хоронят. На этот раз автор предлагает для системного программирования переходить на более безопасные Rust и Swift, упрекая даже новые версии С++ в возможных уязвимостях по сравнению с предложенными альтернативами. Обсуждение статьи появилось на форуме Hacker News, полыхания не утихли до сих пор.
  • Дальше — больше: Swift как стандарт для Machine Learning. В статье Embracing Swift for Deep Learning предлагается в будущем заменить Python, который не проектировался для написания безопасных и производительных программ. Также авторы указывают на отсутствие нормальной типизации и сложности отладки программ. От них недавно выходила еще одна статья про Swift и ML — «High Performance Numeric Programming with Swift: Explorations and Reflections».
  • В заключение — о разном. Во-первых, компания MindNode продолжает раскрывать в блоге подробности реализации своего продукта. В предыдущем посте рассказали про улучшение производительности интерфейса, в свежем – про работу с текстом. А во-вторых, вышел целый курс Reverse Engineering iOS Applications на базе реально существующих уязвимостей, найденных автором в приложениях.

Автор: dydus0x14

Источник


* - обязательные к заполнению поля


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