Язык программирования iOS приложений (на котором вы пишете большую часть кода своих iOS проектов)
Anonymous Poll
91%
Swift
10%
Objective-C
1%
C++
2%
Kotlin
1%
JavaScript/TypeScript
2%
Dart
2%
Objective-C++
1%
Другое
6%
Посмотреть результаты
👍1👏1
Начинаем исследование State of iOS Toolchain 2022! Ближайший месяц каждый день я буду выкладывать опрос про то, какими инструментами в определенной категории вы чаще всего пользуетесь. В итоге мы получим цельную картинку того, какой стек чаще всего выбирают в современной iOS разработке. После окончания исследования я обязательно ее оформлю в отдельную статью!
Если вам интересно поконтрибьютить в вопросы – оставляйте комментарии к этому доку.
Если вам интересно поконтрибьютить в вопросы – оставляйте комментарии к этому доку.
Google Docs
State of iOS Toolchain 2022
Во всех вопросах – мультивыбор. ✅ Основной язык программирования (на котором вы пишете большую часть кода) Swift Objective-C C++ Kotlin JavaScript/TypeScript Dart Другое ✅ Архитектура MVC MVVM VIPER MVP Redux TCA MVI CleanSwift RIBs Свой собственный подход…
💩7👍6❤3🔥1
Работа со строками – это весело! В статье рассказывается про особенности Unicode и работу в Swift с characters и scalars. Если после прочтения вам захочется сильнее погрузиться в тему кодировок, то начинайте копать отсюда:
1️⃣Серия статей про боли работы с разными кодировками текста
2️⃣Нетленочка Joel Spolsky про то, что каждый программист должен знать про работу с текстом
1️⃣Серия статей про боли работы с разными кодировками текста
2️⃣Нетленочка Joel Spolsky про то, что каждый программист должен знать про работу с текстом
Medium
Understanding Swift Strings, Emoji, Characters, and Scalars
Learn how Swift works with characters, using emoji as a fun and easy example
👍9
Если вы в основном дебажите свой код принтами, то выделите немного времени на изучение возможностей lldb. Это сэкономит вам тонны часов в будущем. Начать можно с того, как работает команда po (print object), которая помимо прочего позволяет исполнять Swift код прямо в дебаггере.
👍8
Вопрос #2 из State of iOS Toolchain 2022. Какие IDE вы используете чаще всего при разработке iOS приложений?
Anonymous Poll
94%
Xcode
4%
AppCode
16%
VSCode
8%
Sublime
3%
Vim
14%
Swift Playgrounds
2%
Другое
4%
Посмотреть результаты
Текст про историю создания и развития протокола JSON. Пара фактов для затравочки:
📌Ключи в JSON помещаются в кавычки по историческим причинам – чтобы при скармливании его интерпретатору JavaScript не возникало коллизий по зарезервированным словам.
📌Великолепная цитата автора JSON в ответ на набросы про то, что он переизобрел XML: «The good thing about reinventing the wheel is that you can get a round one».
📌Ключи в JSON помещаются в кавычки по историческим причинам – чтобы при скармливании его интерпретатору JavaScript не возникало коллизий по зарезервированным словам.
📌Великолепная цитата автора JSON в ответ на набросы про то, что он переизобрел XML: «The good thing about reinventing the wheel is that you can get a round one».
twobithistory.org
The Rise and Rise of JSON
👏17👍3👎1
Apple обеспечивает безопасность App Store во многом за счет вертикальной интеграции всех своих сервисов. Им принадлежит вся цепочка – начиная от контроля железа в телефоне, на котором запускается приложение, заканчивая каналом загрузки этих приложений в стор и механизмами их верификации. Сейчас идет много разговоров о том, что Apple вынудят разрешить установку альтернативных сторов на свои устройства. В статье детально разбирается, почему такое решение существенно ухудшит безопасность для конечных пользователей.
TidBITS
Apple’s App Store Stubbornness May Be iOS’s Greatest Security Vulnerability
Apple’s App Store helped make iPads and iPhones the most secure consumer-focused computers ever created. But Apple’s opaque policy enforcement and payment restrictions are now motivating regulators and courts to get involved, which will likely force changes…
👍11👎9
Хотите получить оффер в крутую команду и бонусом к нему доп. зарплату на старте уже в эти выходные?
Тогда поспешите подать заявку до 22 апреля на Weekend Offer для мобильных разработчиков в команду мессенджера VK Teams.
Узнайте подробнее в видеоприглашении о продукте и задачах, которые вас ждут, и не упускайте свой шанс!
Тогда поспешите подать заявку до 22 апреля на Weekend Offer для мобильных разработчиков в команду мессенджера VK Teams.
Узнайте подробнее в видеоприглашении о продукте и задачах, которые вас ждут, и не упускайте свой шанс!
🤮66💩43👍9👎3🥰2
Вопрос #3 из State of iOS Toolchain 2022. Какие Git-клиенты вы используете?
Anonymous Poll
46%
Терминал
18%
Встроенный в IDE
28%
Fork
2%
GitUp
39%
SourceTree
5%
GitKraken
4%
Tower
8%
Другой клиент
0%
Не использую
4%
Посмотреть результаты
👍11
В Swift 5.6 появилась новая фича, расширяющая возможности автоматического вывода типов компилятором: type placeholders. Благодаря ей, в дженериках иногда можно использовать
_
вместо указания конкретного типа. За примерами кода – в статью.Swift by Sundell
Type placeholders in Swift | Swift by Sundell
New in Swift 5.6: We can now use type placeholders to select what generic types that we want the compiler to infer. Let’s take a look at how those placeholders work, and what kinds of situations that they could be really useful in.
👍17👎9🤔4
Неочевидный совет – если в вашем приложении есть какой-то контент в WebView, то вы можете его дебажить с помощью специальных инструмента Safari – Web Inspector. С его помощью можно изучать иерархию DOM, менять CSS-свойства нод, выполнять произвольный JS и дебажить код.
Bendodson
Web Inspector on iOS devices and Simulators
How to debug HTML and JS in Safari iOS, SFSafariViewController, and WKWebView using Web Inspector on macOS.
❤17👍12
Вопрос #4 из State of iOS Toolchain 2022. Где вы хостите свои репозитории?
Anonymous Poll
64%
GitHub
41%
GitLab
27%
Bitbucket
1%
JetBrains Space
9%
Локально
4%
Другое
6%
Посмотреть результаты
👍1😢1💩1
На SwiftUI уже написано достаточно много кода и приложений, чтобы можно было выделять часто встречающиеся антипаттерны. В статье разбирается несколько групп ошибок, ведущих к ухудшению фактического и воспринимаемого перфоманса приложений.
martinmitrevski
SwiftUI performance tips
Optimizing performance is definitely one of the most interesting topics, not only on iOS, but software development in general. There are many thought provoking challenges, accompanied with a detect…
👍22
На прошлой неделе я выкладывал статью про weak self в Swift. Держите еще один материал по теме, предлагающий три правила по работе с self в замыканиях:
1️⃣A strongly-retained
2️⃣A weakly retained
3️⃣Upgrade
1️⃣A strongly-retained
self
isn’t always a retain cycle2️⃣A weakly retained
self
will never be a retain cycle3️⃣Upgrade
self
to strong at the top of closures to avoid weird behavior👍19🔥3
Вопрос #5 из State of iOS Toolchain 2022. Что вы используете на сетевом слое своих приложений?
Anonymous Poll
61%
URLSession
15%
Moya
43%
Alamofire
0%
Siesta
0%
Twitter Network Layer
3%
Другую готовую библиотеку
16%
Свою библиотеку
9%
Посмотреть результаты
Если вы привыкли использовать функцию
addSubview
для добавления вьюшек в иерархию, в SwiftUI вам надо будет переучиваться на использование transitions, которые обрабатывают добавление/удаление вьюшек автоматически. Держите подробную статью от objc.io про Transitions в SwiftUI, с хорошими схемами и примерами кода.www.objc.io
Transitions in SwiftUI
Simple but powerful
👍25👎1
Хороший гайд по тому, как стать техническим инфлюенсером. Несколько запомнившихся мыслей:
📌Большинство профессионально успешных людей не заметны в онлайне, не стоит верить своему пузырю.
📌Самая полезная метрика – количество людей, которые обращаются к тебе за советом.
📌Выбирайте самые топовые свои материалы и прорабатывайте для них сертезный план дистрибуции. Каналов получения новых читателей очень много.
📌Вы всегда можете присосаться к чужому каналу дистрибуции – например, написав гостевой блогпост (я тоже, если что, с радостью выложу ваши статьи)
📌Большинство профессионально успешных людей не заметны в онлайне, не стоит верить своему пузырю.
📌Самая полезная метрика – количество людей, которые обращаются к тебе за советом.
📌Выбирайте самые топовые свои материалы и прорабатывайте для них сертезный план дистрибуции. Каналов получения новых читателей очень много.
📌Вы всегда можете присосаться к чужому каналу дистрибуции – например, написав гостевой блогпост (я тоже, если что, с радостью выложу ваши статьи)
Lethain
How to be a tech influencer.
In a one-on-one before the holidays, a coworker expressed an interest in being more influential outside of the company and wanted my advice. There’s a similar email I get semi-regularly asking whether folks looking to advance their career should start blogging…
👍8💩6
Вопрос #6 из State of iOS Toolchain 2022. Какие кроссплатформенные технологии вы используете?
Anonymous Poll
5%
React Native
11%
Flutter
8%
Kotlin Multiplatform Mobile
9%
C++
2%
Другая технология
65%
Не использую
10%
Посмотреть результаты
Лонгрид выходного дня про историю создания одного из первых массовых домашних компьютеров Commodore 64.
IEEE Spectrum
Creating the Commodore 64: The Engineers’ Story
The daring and design that went into the best-selling computer of all time
👍7
Вопрос #7 из State of iOS Toolchain 2022. Как у вас организован Dependency Management?
Anonymous Poll
51%
SPM
8%
Carthage
67%
Cocoapods
10%
Binary frameworks
6%
Copy to sources
3%
Другое решение
1%
Не использую зависимости
7%
Посмотреть результаты