Swift и Objective-C в рейтингах языков программирования
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
1️⃣Redmonk – индекс, рассчитываемый на основе количества вопросов на StackOverflow и проектов на GitHub
Swift – 11 место
Objective-C – 12 место
2️⃣SlashData – индекс, основанный на регулярном опросе 26.000 разработчиков со всего мира
Swift – 9 место (4.2 млн разработчиков)
Objective-C – 11 место (3 млн разработчиков)
3️⃣Octoverse – индекс, который строится GitHub на основе мх данных об опенсорсных проектах
Swift и Objective-C не попали в топ-10
4️⃣PYPL – индекс, который рассчитывается по частотности Google поисков вида «язык tutorial»
Swift – 10 место (доля рынка 2.11%)
Objective-C – 9 место (доля рынка 2.17%)
🕊21😢6👍3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUICraft – Minecraft на SwiftUI
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
Кто-то делает троллейбус из буханки хлеба, а кто-то – воксельную игру на SwiftUI. Реализовано все поверх Prism, легковесного 3D движка, про который я как-то в канале уже рассказывал.
🔥66🤯17🤡4👍1👎1😱1
Решение проблем с single size App Icon
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
При использовании новой фичи Xcode, app icon универсального размера, вы можете столкнуться с двумя ошибками: «CoreData: API Misuse: Attempt to serialize store access on non-owning coordinator» и «Command CompileAssetCatalog failed with a nonzero exit code». В статье разбирают причины их возникновения, связь фичи с CoreData и способы их решить.
Перевод на русский язык
🤡23👍3👎1👏1
ngrok – используем localhost как бэкенд
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
- ngrok – reverse proxy, который помогает дать доступ к сервису, поднятому на localhost, из внешнего интернета.
- Для этого достаточно выполнить всего одну команду:
ngrok http <port>
- Это очень удобно для того, чтобы быстро поднять локальный бэкенд для своего приложения и протестировать что-то без необходимости его деплоить.🔥37👍9👎4
Чтобы быть в тренде последних новостей из мира iOS разработки тебе надо подписаться на канал @iOS_broadcast.
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
📌 Там ты найдешь ежедневную подборку новостей с кратким обзором, а также интересные опросы, чтобы проверить свои знания.
Что интересно можно узнать:
▶️ iOS: Навигация по-новому
▶️ 4 видео для мобильных разработчиков. Анимации в React Native, keyboard avoiding в SwiftUI и другое
▶️ Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают
▶️ Для чего нужна Witness Table?
Канал создан авторами @android_broadcast
🤡28👍4👎3🤬2
Циферблат для Apple Watch, динамически генерирующийся по текущей топографии
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
David Smith, тот самый разработчик приложений для watchOS, реализовал один из самых красивых циферблатов, что я видел. На основе данных о вашей локации генерируется контурная топографическая карта. Выглядит потрясающе.
А вот еще циферблаты от него же, но уже с анимацией текущей погоды.
🔥41👍2👎1
Xbase – набор инструментов для iOS разработки в Neovim
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
Для любителей писать код в неконвенциональных для iOS экосистемы редакторах, например, в Neovim, появился набор инструментов, которые упростят эту задачу:
- Поддержка автокомплита и навигации по исходникам
- Возможность быстрого запуска симуляторов
- Логи билдов и print()
- Генерация xcodeproj
- Поддержка всяких фичей nvim
Кстати, если вы не понимаете, зачем вообще кто-то может хотеть писать код в Vim, послушайте недавний выпуск Подлодки с Кириллом Мокевниным про продуктивность разработки, где мы в том числе много обсуждали Vim.
🤡35👎11👍8🌚7🔥6
Как освободить место от неиспользуемых платформ в Xcode
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык
Xcode не очень хорошо справляется с подчисткой неиспользуемых версий платформ симуляторов. Может так оказаться, что вы продолжаете тратить бесценные гигабайты на харде на то, чтобы хранить образы платформ, которые уже не совместимы с вашей версией Xcode. В статье разбирается, где они хранятся, как их можно почистить и при необходимости скачать заново.
Перевод на русский язык
👍17❤1
Variadic generics в Swift
Одна из следующих больших языковых фичей, которые появятся в Swift – variadic generics. С ее помощью можно будет определять дженерики с переменным количеством параметров.
Пример ситуации, где такая фича может быть полезна – оператор сравнения для tuples, который приходится перегружать по многу раз для того, чтобы описать его поведение с разным количеством параметров.
Обсудить пропозал и почитать чужие комментарии можно здесь.
Перевод на русский язык
Одна из следующих больших языковых фичей, которые появятся в Swift – variadic generics. С ее помощью можно будет определять дженерики с переменным количеством параметров.
Пример ситуации, где такая фича может быть полезна – оператор сравнения для tuples, который приходится перегружать по многу раз для того, чтобы описать его поведение с разным количеством параметров.
Обсудить пропозал и почитать чужие комментарии можно здесь.
Перевод на русский язык
🤡24👍20🔥12🌭2👎1
Почему Rosetta 2 работает так быстро
Хардкорная статья с анализом устройства Rosetta 2 и сравнением сгенерированного ей кода с оригиналом.
Перевод на русский язык
Хардкорная статья с анализом устройства Rosetta 2 и сравнением сгенерированного ей кода с оригиналом.
Перевод на русский язык
👍22🔥4
Quick Navigation в DocC
- DocC – инструмент от Apple для генерации документации и спек для пользовательских библиотек в виде HTML.
- Скоро в DocC появится Quick Search, аналог похожим фичам в IDE.
- Quick Search будет уметь искать символы, похожие на пользовательский ввод, сортировать результаты по релевантности и работать с шорткатами.
- DocC – инструмент от Apple для генерации документации и спек для пользовательских библиотек в виде HTML.
- Скоро в DocC появится Quick Search, аналог похожим фичам в IDE.
- Quick Search будет уметь искать символы, похожие на пользовательский ввод, сортировать результаты по релевантности и работать с шорткатами.
🔥15❤🔥3👍1
Benchmark – SwiftPM плагин для запуска бенчмарков
- Работает как локально, так и на CI.
- Умеет замерять кучу разных метрик по перцентилям.
- Работает как локально, так и на CI.
- Умеет замерять кучу разных метрик по перцентилям.
👍10❤1
Малоизвестные фичи VSCode extension для Swift
- Быстрая подмена любого пакета на его локальную версию.
- Куча полезных команд: запуск скриптов на Swift, запуск и дебаг сниппетов, выбор нужной версии Xcode.
- Автозаполнение комментариев по шаблону.
- Запуск Swift Command Plugins в виде тасок.
Перевод на русский язык
- Быстрая подмена любого пакета на его локальную версию.
- Куча полезных команд: запуск скриптов на Swift, запуск и дебаг сниппетов, выбор нужной версии Xcode.
- Автозаполнение комментариев по шаблону.
- Запуск Swift Command Plugins в виде тасок.
Перевод на русский язык
🤡12👍10👎2😢1
Список всех активных пропозалов в Swift на одной странице
На сайте Swift появилась отдельная страница, на которой можно смотреть все текущие активные пропозалы в язык с их статусом, датой следующих изменений и авторами.
На сайте Swift появилась отдельная страница, на которой можно смотреть все текущие активные пропозалы в язык с их статусом, датой следующих изменений и авторами.
👍24👎1
Планы Swift на 2023 год
💻Основные направления развития языка:
- Доработка акторной модели многопоточности
- Variadic generics
- Возможности для ручного управления памятью в стиле Rust
- Макросы
- Интероп с С++
🛠️Другие интересные инсайты:
- Создание реестра SwiftPM пакетов, который заменит собой прямую загрузку пакетов с GitHub
- Много планов по улучшению DocC, инструмента для генерации документации
- Фокус Swift на сервере сейчас в основном на переходе всех проектов на Swift Concurrency и стандартизации подходов
Перевод на русский язык
💻Основные направления развития языка:
- Доработка акторной модели многопоточности
- Variadic generics
- Возможности для ручного управления памятью в стиле Rust
- Макросы
- Интероп с С++
🛠️Другие интересные инсайты:
- Создание реестра SwiftPM пакетов, который заменит собой прямую загрузку пакетов с GitHub
- Много планов по улучшению DocC, инструмента для генерации документации
- Фокус Swift на сервере сейчас в основном на переходе всех проектов на Swift Concurrency и стандартизации подходов
Перевод на русский язык
👍29👎3🤔3🔥2🌭2❤🔥1
Как запинить Text Field к нижнему краю экрана
Если вы хотите запинить Text Field к нижнему краю экрана, причем таким образом, чтобы он двигался с появлением клавиатуры, используйте модификатор safeAreaInset(edge: .bottom).
Если вы хотите запинить Text Field к нижнему краю экрана, причем таким образом, чтобы он двигался с появлением клавиатуры, используйте модификатор safeAreaInset(edge: .bottom).
👍78❤6👎2🔥2🤔2
Xcode 14 может увеличить размер приложений на 70 процентов
- Приложения, собранные Xcode 14, резко прибавляют в размере, вплоть до 70%.
- Причина в отключении биткода. Из-за этого при загрузке приложений в App Store из них перестала вырезаться лишние метаданные.
- В статье рассказывается, как можно вырезать лишние метаданные вручную.
Перевод на русский язык
- Приложения, собранные Xcode 14, резко прибавляют в размере, вплоть до 70%.
- Причина в отключении биткода. Из-за этого при загрузке приложений в App Store из них перестала вырезаться лишние метаданные.
- В статье рассказывается, как можно вырезать лишние метаданные вручную.
Перевод на русский язык
😱52🤬11🔥3🤡3👍2👎2❤1🌚1
Как Swift Concurrency предохраняет разработчика от переизбытка тредов
- Если приложение создает одновременно слишком много тредов, это может повлечь за собой кучу проблем с производительностью. Слишком много – в несколько раз больше, чем ядер в CPU.
- В статье разбираются механизмы Swift Concurrency, которые не дают разработчику совершить эту ошибку, и проводится несколько тестов, чтобы определить границы этой защиты.
Перевод на русский язык
- Если приложение создает одновременно слишком много тредов, это может повлечь за собой кучу проблем с производительностью. Слишком много – в несколько раз больше, чем ядер в CPU.
- В статье разбираются механизмы Swift Concurrency, которые не дают разработчику совершить эту ошибку, и проводится несколько тестов, чтобы определить границы этой защиты.
Перевод на русский язык
🔥28👍4