bootg.com »
United States »
iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT » Telegram Web
Конечно же вы подписаны на этот канал ради архитектурных статей. Так вот, держите взгляд на тему того, как надо подходить к архитектуре приложений в 2022 году!
https://alejandromp.com/blog/ios-app-architecture-in-2022/
https://alejandromp.com/blog/ios-app-architecture-in-2022/
Alejandro M. P.
iOS App Architecture in 2022 | Alejandro M. P.
Since we’re about to start a new year, I thought it would be good to write about what I think it’s the best approach for building iOS apps nowadays.
🤩9❤6
Apple выложили официальные ресурсы с рамками всех своих устройств. Можно больше не гуглить «iPhone 12 рамка прозрачная png скачать бесплатно»!
https://developer.apple.com/design/resources/#product-bezels
https://developer.apple.com/design/resources/#product-bezels
Apple Developer
Apple Design Resources
Design apps accurately and quickly using official Apple design templates, icon production templates, color guides, and more.
👍58🔥6🤩3❤2
Интересный факт – UISwitch не стоит использовать нигде, кроме ячеек таблицы.
https://twitter.com/featherless/status/1477294898718154752?s=21
https://twitter.com/featherless/status/1477294898718154752?s=21
Twitter
Jeff Verkoeyen
UIKit design fundamental #84 Switches are only meant to be used as accessory views in table view cells. In most other places, consider using a UIButton built as a "toggle button" instead. Why? It's actually a bit nuanced! A 🧵.
😱2💩1
Сборник законов и принципов разработки софта, с каждым из которых стоит быть знакомым в том числе при разработке iOS приложений.
Несколько примеров:
- Закон Конвея. Архитектура системы отражается в структуре организации, которая ее разрабатывает.
- Закон Галла. Любая работающая сложная система начиналась с другой работающей системы меньшей сложности. Иначе говоря, сложные системы, задизайненные с нуля, обречены на провал.
- Закон Хайрума. Не важно, что вы обещаете в контрактах своего API – при достаточном количестве пользователей, кто-то будет зависеть от всех его свойств, даже не явных и приватных.
https://github.com/dwmkerr/hacker-laws
Несколько примеров:
- Закон Конвея. Архитектура системы отражается в структуре организации, которая ее разрабатывает.
- Закон Галла. Любая работающая сложная система начиналась с другой работающей системы меньшей сложности. Иначе говоря, сложные системы, задизайненные с нуля, обречены на провал.
- Закон Хайрума. Не важно, что вы обещаете в контрактах своего API – при достаточном количестве пользователей, кто-то будет зависеть от всех его свойств, даже не явных и приватных.
https://github.com/dwmkerr/hacker-laws
GitHub
GitHub - dwmkerr/hacker-laws: 🧠 Laws, Theories, Principles and Patterns for developers and technologists.
🧠 Laws, Theories, Principles and Patterns for developers and technologists. - dwmkerr/hacker-laws
👍20❤10🔥1
Признаки того, что вы еще не доросли до сеньора.
https://nicosmusings.substack.com/p/clear-signs-that-you-are-not-a-senior
https://nicosmusings.substack.com/p/clear-signs-that-you-are-not-a-senior
Nico's Musings
Clear Signs that You Are Not A Senior Developer
Not even close!
💩31👍11🔥4👎3
Что может считаться современным стеком для iOS разработки? Почитайте тред на Reddit, где выбирают лучшие линтер, билдсистему, кодогенератор и другие инструменты. И поделитесь своей собственной подборкой в комментариях!
https://www.reddit.com/r/iOSProgramming/comments/rsnj2h/what_does_a_modern_mobile_development_toolchain
https://www.reddit.com/r/iOSProgramming/comments/rsnj2h/what_does_a_modern_mobile_development_toolchain
Reddit
From the iOSProgramming community on Reddit
Explore this post and more from the iOSProgramming community
Реализация паттерна cascade of events в SwiftUI. Суть такая – в иерархии вьюшек определяются action’ы, которые запускаются для определенного события. При вызове этого события в каком-то subview все запустится по цепочке.
http://www.magnuskahr.dk/posts/2021/12/cascading-environment-actions-in-swiftui/
http://www.magnuskahr.dk/posts/2021/12/cascading-environment-actions-in-swiftui/
magnuskahr
Cascading Environment actions in SwiftUI | magnuskahr
We build an Observer-pattern-like implementation for SwiftUI with actions passed into the environment.
👍9🔥2
Зачем и как переводить DTO на кодогенерацию по схеме ответов бэкенда.
https://habr.com/ru/company/yandex/blog/598125/
https://habr.com/ru/company/yandex/blog/598125/
Хабр
Кодогенерация DTO: зачем она нужна и как её настроить
Data Transfer Object — модель данных, которые мы передаём из одного слоя приложения в другой. В Яндекс Go мы активно используем DTO. Предположим, нужно отобразить в UI приложения для вызова такси...
👍28👎9
Вышла бета-версия довольно симпатичного менеджера сниппетов Swift-кода, из которого можно драг-энд-дропать прямо в Xcode. Посмотрите гифку и, если понравится, вписывайтесь в тестфлайт.
https://twitter.com/gaudioaffectus/status/1478460329122312196
https://twitter.com/gaudioaffectus/status/1478460329122312196
Twitter
Harty
Hey, iOS Devs! Here’s a small demo of an incredibly useful App I created together with @AndreasInk in the last days. You can easily drag and drop Code Snippets into Xcode and Playgrounds. 🧑💻👀
👍28👎3
Помните, я несколько раз выкладывал Твиттер треды Jordan Rose про ошибки, допущенные при дизайне Swift? Так вот, он закончил всю серию и собрал их в одном месте.
https://belkadan.com/blog/tags/swift-regrets/
https://belkadan.com/blog/tags/swift-regrets/
🔥13❤3👍2
Мы много ругаемся на Xcode, но иногда у него получается и приятно удивлять. Например, он может автокомплитить
https://twitter.com/natpanferova/status/1478647485572603906
for-in,
называя переменную в цикле с учетом множественного числа в названии коллекции: items -> item, apples -> apple.
https://twitter.com/natpanferova/status/1478647485572603906
Twitter
Natalia Panferova
I just discovered that Xcode can fully autocomplete for-in loops, including the variable name. If the array variable is in plural, it creates the loop variable in singular. I’ve been always typing it out myself…
👍34👎15💩15😱8❤5🔥2😁1🤩1
История поиска причин странного бага работы с защищенными данными в Keychain, связанного с неочевидным поведением iOS при прогреве (pre-warm) приложения.
https://sourcediving.com/solving-mysterious-logout-issues-on-ios-15-8b818c089466
https://sourcediving.com/solving-mysterious-logout-issues-on-ios-15-8b818c089466
Medium
Solving Mysterious Logout Issues on iOS 15
Learn how we discovered, debugged and fixed a mysterious bug introduced in iOS 15 that caused our users to be logged out mistakenly
🔥6👍2
Есть много навыков, приобрести которые достаточно быстро, но отдачу от них вы будете чувствовать всю свою будущую карьеру. Один из таких небольших скиллов –
https://gist.github.com/vpnwall-services/ece867608e00fe1ee77ed4780ff5298f
curl <URL> | jq.
jq – это консольная утилита, которая позволяет на лету процессить и форматировать полученный json.https://gist.github.com/vpnwall-services/ece867608e00fe1ee77ed4780ff5298f
🔥5❤1👍1😁1
Столп нашего сообщества @Jonfir собрал в одном месте подборку материалов про async/await API. Добавьте в закладки, чтобы было проще разобраться с новыми технологиями.
https://jonfir.github.io/posts/async-await-materials/
https://jonfir.github.io/posts/async-await-materials/
🔥40
А раз уж мы начали день с асинхронщины, то вот еще новая статья от Санделла про то, как подружить кодовую базу на Combine с кодом на async/await.
https://www.swiftbysundell.com/articles/creating-combine-compatible-versions-of-async-await-apis
https://www.swiftbysundell.com/articles/creating-combine-compatible-versions-of-async-await-apis
Swift by Sundell
Creating Combine-compatible versions of async/await-based APIs | Swift by Sundell
Creating convenience APIs that make it possible to convert async/await-based functions into Combine publishers.
👍6
Обещаю, это последняя ссылка про async/await. В докладе обсуждается реализация async/await в Swift, а также сравнивают подходы, принятые в С++ и Rust.
https://www.youtube.com/watch?v=H_K-us4-K7s
https://www.youtube.com/watch?v=H_K-us4-K7s
YouTube
2021 LLVM Dev Mtg “Asynchronous Functions in Swift”
2021 LLVM Developers' Meeting
https://llvm.org/devmtg/2021-11/
—
Asynchronous Functions in Swift - John McCall, Arnold Schwaighofer
Slides: https://llvm.org/devmtg/2021-11/slides/2021-AsyncFunctionsInSwift.pdf
—
async/await is an increasingly common language…
https://llvm.org/devmtg/2021-11/
—
Asynchronous Functions in Swift - John McCall, Arnold Schwaighofer
Slides: https://llvm.org/devmtg/2021-11/slides/2021-AsyncFunctionsInSwift.pdf
—
async/await is an increasingly common language…
👍16
Что ждет Swift на сервере в 2022 году и как последние изменения в экосистеме на него повлияют.
https://theswiftdev.com/the-future-of-server-side-swift/
https://theswiftdev.com/the-future-of-server-side-swift/
Theswiftdev
The future of server side Swift - The.Swift.Dev.
What's going to happen with Swift on the Server in 2022? Distributed actors, Vapor 5, some predictions and wishes.
🎉3👍2
Какой язык вы бы выбрали, если бы вам надо было написать несложный бэкенд для своего приложения? База, немного бизнес-логики и REST API.
Anonymous Poll
33%
Python
21%
Go
7%
Java
33%
Swift
8%
Kotlin
6%
PHP
15%
JavaScript/TypeScript
9%
Другой
👍4😁1
Старт новой серии статей про использование CryptoKit. В первой из них разбирается, как работает криптография с открытым ключом.
https://tanaschita.com/20220105-public-key-cryptography-with-cryptokit/
https://tanaschita.com/20220105-public-key-cryptography-with-cryptokit/
Tanaschita
Public-key cryptography with CryptoKit for iOS
Learn how to implement public-key cryptography in iOS using CryptoKit. This guide covers encryption, digital signatures, and secure key exchange to protect sensitive data in our Swift apps.
👍12
Вы из тех, кто считает, что знание алгоритмов нужно только для собеседований на вайтбордах? Может быть, это короткое видео вас переубедит.
https://www.youtube.com/watch?v=ymCXsPwg8G8
https://www.youtube.com/watch?v=ymCXsPwg8G8
YouTube
Computer Science in the Real World: Building a Better Blur
I don't think sorting algorithms are the best introduction to Computer Science. So let's talk through a real world example of speeding up a blurring algorithm. We touch on time complexity ("Big O") and what a quadratic algorithm looks like.
Accidentally…
Accidentally…
🔥16👍9💩4😁2