iOS Makes Me Hate
3.94K subscribers
1.16K photos
167 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Forwarded from iOS Dev
🎉 Вышла тех-превью версия Skip — технологии для кроссплатформенных приложений на базе iOS!

По словам разработчика, Skip выступает в роли команды Android (как по мне, это слишком громко сказано), создавая эквивалентное приложение параллельно с iOS-версией.

Сердцем Skip является интеллектуальный транспилятор языка Swift в Kotlin (и еще несколько лет назад Skip был бы невозможен).

Для анализа исходного кода используется SwiftSyntax, после чего код преобразуется в Kotlin, сохраняя даже комментарии.

Благодаря схожести языков, результат часто не отличается от Kotlin, который был бы написан нативно (но с оговорками).

🧑‍💻 Онлайн-playground, в котором можно попробовать возможности Skip.

📖 Документация.

И хотя поддержка API по-прежнему ограничена (будут сложности с внедрением SwiftData или, например, Firebase), все библиотеки Skip имеют открытый исходный код и разработчик приглашает поучаствовать в их улучшении.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😁7❤‍🔥1
Верите ли, что эйпл когда-нибудь совершит свою очередную революцию и сделает лучшую кроссплатформу?
Anonymous Quiz
16%
Да
29%
Нет
10%
Никогда
38%
А зачем? Уже есть лучшая ОС
6%
Хз
👎14👍8❤‍🔥1
Немного о System Design для мобильных разрабов

Начал читать книгу о проектировании мобильных систем и поделюсь некоторыми выжимками. Для многих моб.апки это просто и легко. Это правда, пока ты делаешь MVP или просто рисуешь JSON'ы. Но как только ты выйдешь на уровень больших и сложных апок, то правила игры меняются.

🟡 Термин пришел к нам из бэкенда и чаще представляется с собесами. Обычно кандидату дают задачу "Как бы ты сделал фичу X?". На что он рисует диаграмы и перечисляет свои решения.

В мобильной разработке есть свои ограничения:
🔵Синхронизация офлайн данных с онлайном
🔵Обход сбоев приложения
🔵Недопустимость перегрузки сервера с клиента
🔵Уменьшение пересечений одних продуктовых флоу с другими
🔵Синхронизация данных между экранами и модулями
🔵Переиспользование функций между платформами и устройствами

📌Почему System Design важен?

Хорошая система не только должна делаться быстро, но и сокращать время разработки, поддержки и адаптации в будущем.

⚡️ Частые челенджи для мобильных разрабов

🟢Общие компоненты должны соотвествовать стандартам компании
🟢Избыточные абстракции приводят к лишней сложности
🟢Over-engineering
🟢Слишком большое или слишком малое дублирование кода.
🟢Ловушки запутанного кода
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥3😁2
Инфляция счастья

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

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

Есть 2 выбора в этой игре:
1. Повышать ставки и жить в погоне за мечтой. Жить великой идеей переселить людей на Марс, раздать всем деньги и избавиться от войн. Но в этом есть риск сгореть полностью.

2. Учиться жить проще. Получать от самых простых вещей счастье и положительную энергию. Быть в гармонии с собой и своим делом.

Так выпьем же за то, чтобы у нас были великие цели и счастье от простых вещей. А также не быть потерянными в этом большом мире.
👍61❤‍🔥22
Сколько денег приносят разработчикам iOS и Android

Эту новость уже опубликовали почти все крупные каналы. Ну и я тоже решил.

Всегда удивляюсь, когда иос сравнивают с кол-вом. Что в бизнесе, что в технологиях. Ведь размер аудитории в премиальном устройстве не так важен, как ее качество. Какой это премиум, если есть у каждого? Чаще только у владельцев или топ клиентов, для которых рисуется дизайн и приходят самые мажорные баги.

В статье можно узнать почему пользователи App Store тратят в месяц 10.4$, в то время как любители Google Play – всего 1.4$.

Ведь смысл в платформе собрать определенную платежеспособную аудиторию, у которой есть четкие критерии к качеству.
👍14👎1
Культурная коррозия или цифровая потерянность

Я в IT уже 13 лет. С 2010 года, когда поступил на инженера. Многие годы эта профессия считалась для фриков. Люди не понимали интересы, юмор и многое другое.

За последние годы все резко поменялось и быть итшником стало даже престижно. Пандемия и мобилизация резко поменяли ландшафт карт. Сейчас многие в IT идут за деньгами. Для них это возможность изменить свою жизнь. Но можем ли мы найти счастье в высоком доходе? как деньги могут нас изменить?

Деньги не делают лучше. Они делают свободней. Делают раскованней. Свобода же другой инструмент. Ее еще нужно обуздать или подружиться. Экономика уже порешает становиться ли нам банкротом или преумножить свой капитал. Однажды став свободным ты не всегда можешь им остаться.

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

Когда я переехал из небольшого городка в центр Москвы, я считал, что высокий уровень дохода означает высокий уровень культурного развития. Но я никогда так не ошибался... Подьезды в ЖК с квартирами за 60 млн пахнут такой же человеческой мочой где и за 3 млн. Почему контингент, про который любят так говорить, здесь мало чем отличается, когда вопрос стоит туалетов? Как с этим бороться? Наверное, только образованием? Но почему оно не дотянулось до этого подъезда? Зависит ли воспитание и культура от твоего кошелька?

Загадил ли мой подъезд ИТшник, который пришел за деньгами, никто не узнает. Но главный вывод я тогда сделал. Чтобы быть лучше как человек не всегда нужны деньги. Культурный багаж и воспитание чаще самая дорогая и редкая вещь, за которую ценишь других людей и себя. Увеличивая свой доход в ИТ, или любой другой сфере, не теряй человечность.
❤‍🔥24😁13👍12
Паттерн Builder

Builder
— это класс, который создает сложный объект пошагово и закрывает его за протоколом.

Он позволяет создавать различные варианты сложного объекта, не меняя код, создающий его.

Один из самых популярных и полезных паттернов
👍30❤‍🔥2😁2
Как тестировать пуши

Тестировать пуши стало еще проще. Для этого нужно чуть заморочиться с токенами, но все же лучше, чем было

А еще, теперь пуши приходят на PWA апки под сафари. Нативная разработка теперь не нужна
👍10
Принципы SwiftUI

Главная особенность нового фреймворка — это принципы на которых держится вся концепция. Можно знать внутренности фреймворка, но лучше задать вопрос какие ключевые свойства он в себе несет:

🟣1. Декларативность — старый тренд, который доказал себя в других технология с UI. React, Angular, Compose, Flutter. В императивном мире нужно всё реализовывать самому: верстку, поведение, привязку данных. В декларативном подходе нужно просто указать платформе, что делать, и она позаботится обо всех деталях за вас.

🟣2. State Management. Если у нас простой экран, то проблем нет. Как только наш экран обрастает разными компонентами, то вопрос синхронизации растет в приоритете. Один из главных принципов SwiftUI — это максимальная синхронизация вью и модели.

🟣3. Composition over Inheritance. Композиция важнее наследования. Разрабам из UIKit немного сложнее в этом вариться, так как мы привыкли наследоваться от UITableView, UITableViewCell и многих других элементов. В SwiftUI же акцент сделан в другую сторону

🟣 4. UIs Are a Function of Their State. Проще говоря, view намного умнее следит за обновлением модели и ее атрибутов. Так улучшается синхронизация между данными и ее вью. SwiftUI помогает лучше связывать данные и не забывать случайно обновить часть интерфейса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2😁1
Тренды мобильной разработки

Саша Сычев, head of mobile тинькоф страхования, рассказал интересный доклад про современные тренды мобильной разработки:

- Как ИИ влияют и будут влиять на технологии
- Почему джуниор разработчикам сложно искать работу и что делает для этого бизнес
- как банки, не смотря на санкции и удаление из сторов, все еще остаются лучшими работодателями для мобильных работников
👍6😁4
SwiftUI vs Flutter

На выходных освежил память прочитав пару книг по SwiftUI. Спустя пару лет существования могу сказать, что он не просто фреймворк, который дает классную декларативность, что нам так долго не хватало. Ну и меньше кода. Но и дает множество своих плюшек для синхронизации данных с помощью property wrapper и внутренней синхронизации UI с Data слоем.

Если раскрывать весь потенциал, то SwiftUI не просто взаимствовал концепции, но и улучшил их. Такого нет ни в React, ни в эталонном для декларатива Flutter'е.

Еще раз удивляюсь, как в Apple все круто с дизайном. Даже на уровне технологий.
👍20😁7❤‍🔥3
Forwarded from iPhones.ru
Apple разрешит европейским пользователям устанавливать приложения на iPhone в обход App Store в 2024 году.

Пользователи смогут скачивать приложения напрямую с сайтов разработчиков и устанавливать их без использования App Store. Это позволит разработчикам не платить комиссию Apple 15-30%.

Вероятно, такая возможность появится в iOS 17.3 или 17.4. Apple будет жестко контролировать этот механизм.

@iphonesru
👍12😡4
В продуктовой разработке есть правило, что фичи для аудитории не должны быть разными на платформах. Часто ты слышишь "мы не можем сделать это по-другому в иос или андроид потому что это продуктовая дискриминация". Это невыгодно бизнесу, когда аудиторию какого-то устройства ущемляют.

Но эйпл хотел на это класть. Поэтому дискриминация будет только для европейцев и остальных

возможно ли привозить европейские айфоны?
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Джуны: войти в ит сложно

Дети:
❤‍🔥35
Swift Backtracer

В Swift 5.9 выйдет новый инструмент, для поиска рантайм крашей на Mac, Windows и Linux. Он помогает отлаживать:
🟣 Внепроцессорные сбои
🟣 Удобное отображение источников проблем
🟣 Возможность приостановить и проверить код или даже запустить дебаггер.
🟣 Поддержка Swift Concurrency
🟣 Поддержка изменения имен C++ в дополнение к Swift.
🟣 Разная конфигурация

Вот мы тут шутки шутим, а ребята уже давно замахнулись на swift back-end, тэнзерфлоу.

Так и до кроссплатформы недалеко
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Серия статей про навигацию в SwiftUI

Решил обширно познакомиться с навигацией в SwiftUI и ее особенностями. Собрать все боли и решения.

Пока скорее положительное впечателение, чем отрицательное. Навигация удобная и проще управлять стэками экранов, данными. Может вы поделитесь кейсами и сложностями?

Как реализовали бы диплинки?

🟡 Основы навигации
🟡 Передача данных между экранами
🟡 Управление навигацией
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍1