TGViewer
Channel Public Channel
Prefire iOS

Prefire iOS

@prefire_ios

Чат/блог о современной 🍏iOS разработке

Пробустить канал → https://t.me/prefire_ios?boost

Автор: @barredewe
Subscribers
980
Photos
101
Videos
7
Links
103

Showing posts older than #37 · Back to latest

Older Posts 20 shown
Post #35 1.21K
🌊 Шторм на рынке мобильной разработки

Удалость поучаствовать в записи круглого стола про текущее состояние мобильной разработки.

Обсудили:
👉 Куда пойдет iOS разработка
👉 Спрос на разработчиков
👉 Использование ChatGPT и других ML сервисов
👉 Заменит ли Machine Learning разработчиков?
👉 Советы начинающим разработчикам для трудоустройства
👉 Обсуждение SwiftUI vs UIKit

Дополнительно, держите ресурс (который обсуждали) для тех, кто хочет зайти в ML: huggingface.co
  • 🔥 3
  • 👍 2
  • ❤‍🔥 1
Post #32 1.27K
🔥Prefire 2.0: Теперь поддерживает #Preview макрос

Я выпустил новый релиз с поддержкой нового
#Preview макроса 🚀

Если коротко, то теперь при подключении Prefire к проекту. Он сразу начинает искать все #Preview и делать из них snapshot тесты.

Этот код будет использоваться для snapshot теста:

#Preview {
Text(“Hello world”)
}


И в итоге в DerivedData мы получим готовый файл с тестом, который сразу можно запускать 💨

Вот упрощенный вариант готового теста:

import XCTest
import Prefire

class PreviewTests: XCTestCase {
func test_text_helloWorld() {
assertSnapshots {
Text(“Hello world”)
}
}
}

#prefire
  • 🔥 8
  • ❤‍🔥 4
  • ❤ 2
  • 👏 2
Post #31 1.02K
Приглашаю послушать про Swift Plugins: ускоряем сборку проекта 🚀

Я тут обновил свой рассказ про Swift Plugins. И уже 22 февраля совместо с Coffee&Code буду рассказывать вам об этом!

Добавил туда информацию о новом языке от Apple - Pkl
И как Pkl нужно использовать c плагинами

🗓 22 февраля в 18:00

📌 Где: Санкт-Петербург, БЦ Ренессанс Правда

О чем поговорим:

- Проблема скорости сборки
- Что такое Swift Plugins и как с ними работать?
- Сравнение с Build Phase Script и результаты использования плагинов

Будет много времени на вопросы, постараюсь помочь ускорить и ваш проект 🐺

🚀Регистрация на мероприятие🚀

P.S. Количество мест ограничено
  • 🔥 7
  • ❤‍🔥 3
  • 👍 3
  • 👨‍💻 2
  • ⚡ 1
  • 👏 1
  • 👾 1
Post #30 1.11K
Perception: Бэкпорт @Observable

Ребята pointfreeco выпустили Backport макроса @Observable - Preciption.

Сам @Observable макрос по умолчанию доступен только для iOS 17. Внутри проект очень интересный и повторяет старый концепт с форума forum.swift.org.


+import Perception

-@Observable
+@Perceptible
class FeatureModel {
var count = 0
}


Учитывая что это первое 🟢 Production Ready решение, да еще и от pointfreeco - получаем отличную возможность уже сейчас (даже на SwiftUI 1.0 или iOS 13) использовать Observation подход, который очень сильно ускоряет работу SwiftUI.

Держите подробный обзор Perception (ENG) от самих разработчиков.

Я пошел пробовать 😁
А вы будете пробовать?
Или использовать бэкпорт слишко рискованно?

#tools
  • 🔥 9
  • 🦄 5
  • ❤ 2
  • 🆒 2
Post #29 1.01K
Насмотренность в разработке

Крайне мало вижу использование термина "Насмотренность" среди разработчиков. В то время как дизайнеры постоянно всё насматривают 😅. А ведь это очень полезное понимание зачем и что нужно делать, если ты хочешь уметь писать красивый и чистый код.

Если совсем коротко - Насмотренность это вкус
Это такой визуальный опыт, который позволяет отличать хороший код от плохого на интуитивном уровне.

К вкусу в разработке можно отнести:
👉 Технологический стек
👉 Форматирование кода
👉 Архитектура
👉 Выбор фреймворка

Что делать, чтобы развить Насмотренность:
👉 Часто посещать GitHub с крутыми проектами (как дизайнеры посещают Dribble)
👉 Заглядывать в другие проекты или команды в своей компании

Нам нужно не просто смотреть на код, а анализировать его. Чем чаще вы будете уделять время изучению и анализу кода, тем больше опыта и хорошего вкуса вы накопите.

#blog
  • 🎄 8
  • 👍 6
  • ❤ 3
  • 💅 3
  • ☃ 2
  • 🔥 1
Post #28 994
Путь к карьерному и техническому росту

Принял участие в безумно интересном обсуждении про карьерный и технический рост.

Успели тонну всего обсудить:
👉 Начало карьеры (как джуну предлагали прийти на лида)
👉 Зарплаты (аналогии с бутылкой 🍾)
👉 Грейды (что делать для повышения)
👉 Менторство (сколько времни занимает и стоит ли того)

Пару ссылочек на обсуждаемые ресурсы:
🖇 Advanced Swift
🖇 Swift Evolution

На самом деле еще много чего успели затронуть. Думаю может отлично зайти как подкаст 🎤

#blog
  • 🔥 7
  • ❤‍🔥 4
  • 👍 2
  • 👏 2
Post #23 935
Мои давние знакомые и просто крутые ребята из 🥳Coffee&Code сделали пост о моем канале.
Мегаприятно и большое им спасибо 😊

👉 Не могу не сказать что очень сильно благодарен такому крутому сообществу и ребятам которые его развивают.

Вы делаете огромный вклад в iOS разработку по всему миру 🔥
Telegram Coffee&Code | Community | IT | Android | iOS | Design | Frontend | Backend | DevOps | QA По вопросам рекламы и PR @coffeecode_admin (а также другим вопросам) Стать организатором в своем или новом городе @coffeeandcode_bot Чат @ChatCoffeeCode Международное офлайн и онлайн сообщество разработчиков и всех айтишников It events, айти эвенты
  • ❤‍🔥 8
  • 🔥 4
  • ❤ 3
  • 🥰 3
  • 👍 2
  • 👏 2
Post #22 1.01K
Уже сейчас потихоньку стартует Podlodka iOS Crew

Ну и конечно я там тоже буду 😁

Будем обсуждать тему: Влияние отрасли на развитие. Постараюсь накидать какое развитие дает e-commerce компания 😓

Будет очень много не очевидного про e-commerce
  • 🔥 11
  • ❤‍🔥 5
  • 👏 5
Post #20 987
🎄40 дней до нового года 🎄
Или новогодняя оптимизация в AppStore ❄️

Надеюсь уже все попросили у дизайнеров иконки и оформление приложений к новому году?

Предлагаю подумать что можно сделать в приложении, так как сейчас уже самое время ☃️:
❄️ Новогодняя иконка приложения
❄️ Новогодние изображения внутри приложения
❄️ Новогоднее оформление AppStore
❄️ Пасхалка с игрой/анимацией

Самое сложное - это продавить идею своему менеджеру/лиду. Тут может помочь статья с описанием что дает праздничная оптимизация. Если коротко, то:
🎄 Привлекает внимание пользователей в поисковике
🎄 Сообщает, что оно обновляется и дышит
🎄 Побуждает неактивную аудиторию заходить и просматривать тематические разделы


Мне очень приятно подготавливать и реализовывать такие вещи. Главное не переусердствовать и не сильно поменять уже всем запомнившийся UX. Иначе вместо фичеринга приложения мы получим отзывы 1 ⭐️.

Начните уже сейчас! 🎄❄️
  • ❤ 7
  • ☃ 5
  • 🎄 4
Post #19 865
Про генерацию xcframeworks в 📦SPM

После недавней 😀Mobius конференции, решил покопать в эту сторону, так как мне кажется, что пора туда углубиться и почувствовать всю мощь 💪 «бинарей»

Для начала я попробовал поискать скрипты в Github Gist, но не смог найти скрипты для сборки именно из SPM проекта. После начал искать решения вообще везде, в итоге нашел такие:

1️⃣ swift-create-xcframework - первый и самый популярный инструмент который можно найти.
В целом, работает стабильно хотя и имеет ряд ограничений. Однако есть одна большая проблема: отсутствие поддержки Swift 5.9. При попытке использовать на этой версии языка, получаем множество ошибок. Правда есть луч надежды - Pull Request, который должен это исправить, но у меня он тоже не заработал.

Покопавшись глубже, я понял: вся магия ✨ фреймворка состоит из того, что он генерирует Xcode проект и уже из него собирает xcframework.

Зная, что не так давно SPM получил нативную поддержку Xcode (с костылями 😭), это навело меня на мысль, что возможно есть реализация на основе этой поддержки.

2️⃣ Тред на forums.swift про генерацию через .dynamic Package
Если кратко, то собрать xcframework можно только если SPM пакет имеет тип ".dynamic". И основное что нам нужно сделать - добавить этот тип к библиотеке в Package.swift. Дальше остается только запустить генерацию через xcodebuild.

3️⃣ Tuist с прогревом
Tuist имеет возможность прогревать запуск, что на самом деле генерирует xcframeworks. За это отвечает команда tuist warm. Пока для меня самое работающее решение с двумя НО. Команда warm закрытая (без исходников). Некоторые пакеты не генерируются (swift-snapshot-testing). Внутри, как я думаю, тоже генерируется Xcode проект.

Получается есть всего два подхода:
👉 Генерация Xcode проекта из Package
👉 Добавление .dynamic типа к Package

🤔 Какой можно сделать вывод?
Я не нашел хорошего решения, чтобы собрать комплексные и сложные фреймворки не одним из способов, но в тоже время простые зависимости собираются любым из способов на ура.

#blog #tools
  • ❤ 3
  • ☃ 2
Post #18 796
SwiftGPT доступен всем (почти)

Теперь ChatGPT будет лучше понимать запросы и контекст по Swift коду.

(Да, это все тот же ChatGPT)
  • 🔥 8
  • 🫡 1
Post #17 1.04K
Большое спасибо всем кто пришел на 😀 Mobius

Очень рад был со всеми пообщаться, ответить на вопросы и услышать альтернативные подходы 👍

PS: Очень круто обсудили плагины, попробую сегодня: --disable-sandbox
  • ❤ 9
  • 🔥 6
Post #16 715
Post #15 666
Еще немного про Swift Plugins.

Так как я сам активно пользуюсь плагинами а еще и
XcodeGen,
я решил добавить поддержку плагинов и туда.


XcodeGen - библиотека, которая помогает генерировать Xcode проект и избегать мерж конфликтов.

1️⃣ Первый шаг:
На первый взгляд, нужно было сделать не сложную доработку, но в итоге оказалось что XcodeGen зависит на другую библиотеку XcodeProj. А доработку нужно сделать еще и в ней. (кстати на основе XcodeProj работает еще и Tuist).

2️⃣ Второй шаг:
Делаем доработку в XcodeProj. Ждём мержа и в итоге получаем возможность доработать XcodeGen (а заодно и Tuist)

3️⃣ Третий шаг:
Осталось только доработать сам XcodeGen. Пишем код, заливаем и ждём аппрува.

Собственно в XcodeGen версии 2.38.0 и зашла доработка с поддержкой Swift Plugins.

targets:
App:
buildToolPlugins:
- plugin: PrefirePlaybookPlugin
package: Prefire


Можно пользоваться 😎
  • 🔥 5
Post #13 637
Пока делал репозиторий с Swift Plugins, нашел интересный плагин:

Benchmark

Он позволяет собрать такие данные о производительности как:
👉 Использование CPU
👉 ARC трафик
👉 Использование памяти
👉 Ипользование ресурсов ОС
И еще многие другие

Вот один из примеров использования:

Benchmark { benchmark in
somefunc()
}

Ну а сам плагин отвечает за генерацию изображения с метриками.

#blog
  • 👍 7
  • 🔥 2
  • ❤ 1
Post #12 573
Не так давно делал репозиторий, где постарался собрать все Swift Plugins, которые есть на GitHub.

Так же добавил в репозиторий информацию, которую стоит изучить, если хотите подробнее разобраться или написать свой плагин.

#blog
  • 🔥 5
Post #9
Channel name was changed to «Prefire iOS»
Post #8
Channel name was changed to «🔥Prefire iOS»
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →