- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

Новости Apple

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

Новости Swift

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

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

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

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

Автор: dydus0x14

Источник [17]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/315862

Ссылки в тексте:

[1] VK-странице: https://vk.com/mobiusconf

[2] новых возможностях: https://9to5mac.com/2019/04/22/wwdc-developers-siri-marzipan/

[3] будет возможность: https://9to5mac.com/2019/04/15/ios-13-features-dark-mode/

[4] практически удвоится в этом году: https://www.canalys.com/newsroom/canalys-global-smart-speaker-installed-base-to-top-200-million-by-end-of-2019

[5] с прошлого случая: https://www.theverge.com/2019/4/4/18295920/apple-iphone-scam-oregon-replacement-counterfeit-chinese-phones

[6] ложному аресту: https://nypost.com/2019/04/22/apples-facial-recognition-software-led-to-false-arrest-suit/

[7] ответом: https://www.theverge.com/tech/2019/4/23/18512942/apple-lawsuit-facial-recognition-nypd-1-billion-theft

[8] предложение: https://forums.swift.org/t/improving-the-ui-of-generics/22814/1

[9] Swift Generics Evolution: https://www.timekl.com/blog/2019/04/14/swift-generics-evolution/?utm_campaign=Swift%20Weekly&utm_medium=email&utm_source=Revue%20newsletter

[10] хоронят: https://alexgaynor.net/2019/apr/21/modern-c++-wont-save-us/

[11] Hacker News: https://news.ycombinator.com/item?id=19723066

[12] Embracing Swift for Deep Learning: https://www.fast.ai/2019/03/06/fastai-swift/

[13] «High Performance Numeric Programming with Swift: Explorations and Reflections»: https://www.fast.ai/2019/01/10/swift-numerics/

[14] предыдущем посте: https://mindnode.com/news/2019-03-27-a-snappier-mindnode

[15] свежем: https://mindnode.com/news/2019-04-10-a-snappier-mindnode-text-persistence

[16] Reverse Engineering iOS Applications: https://github.com/ivRodriguezCA/RE-iOS-Apps

[17] Источник: https://habr.com/ru/post/449536/?utm_campaign=449536