This media is not supported in your browser
VIEW IN TELEGRAM
Я предал яблокодрочеров
Смотрю планшет хуавей с harmony os и в целом не дурно. Единственный момент это чувство подделки.
UI и UX бросается в глаза, хоть очень старается. Эффект зловещей долины. Если уж делать что-то, то лучше или чуть по-другому . А копирка чужого успеха как-то дешево выглядит
Смотрю планшет хуавей с harmony os и в целом не дурно. Единственный момент это чувство подделки.
UI и UX бросается в глаза, хоть очень старается. Эффект зловещей долины. Если уж делать что-то, то лучше или чуть по-другому . А копирка чужого успеха как-то дешево выглядит
👎43❤🔥3😡1
5 основных Property Wrappers SwiftUI и как их эффективно использовать
Разработка под айфоны активно разивается. Когда еще год назад все собесы были по стандартным методичкам, то сейчас все новые проекты пишутся на новых технологиях.
На собеседованиях уже активно спрашивают SwiftUI и Swift Concurrency. Прям отдельными блоками с лайфкодингом. Будто держали методичку с вопросами заранее. Мобильная разработка становится еще сложнее из-за кучи новых технологий. Опыт становится не только вертикальный, но и горизонтальный. Для нас это хорошо.
Самое время начать с базы. Какую базу вы бы спрашивали для SwiftUI?
Разработка под айфоны активно разивается. Когда еще год назад все собесы были по стандартным методичкам, то сейчас все новые проекты пишутся на новых технологиях.
На собеседованиях уже активно спрашивают SwiftUI и Swift Concurrency. Прям отдельными блоками с лайфкодингом. Будто держали методичку с вопросами заранее. Мобильная разработка становится еще сложнее из-за кучи новых технологий. Опыт становится не только вертикальный, но и горизонтальный. Для нас это хорошо.
Самое время начать с базы. Какую базу вы бы спрашивали для SwiftUI?
Hackernoon
SwiftUI's 5 Main Property Wrappers and How to Use Them Effectively
One of the key elements of SwiftUI is the use of property wrappers. These are functional elements that allow you to provide additional logic for properties.
👍5
Две одинаковые строки в Swift. Или нет?
И снова рубрика "Чудеса дизайна языка". Многими считается, что строки в Swift сделаны правильней всего. А кто-то так не считает. Об этом часто спорят на литкоде, когда некоторые общие решения не подходят для Swift.
Можно бесконечно спорить, но в нем есть много специфик, которые необходимо знать. Например, как правильно сравнить две одинаковые строки
И снова рубрика "Чудеса дизайна языка". Многими считается, что строки в Swift сделаны правильней всего. А кто-то так не считает. Об этом часто спорят на литкоде, когда некоторые общие решения не подходят для Swift.
Можно бесконечно спорить, но в нем есть много специфик, которые необходимо знать. Например, как правильно сравнить две одинаковые строки
👎22❤🔥5👍5
Узнал шок контент, после которого мир не станет прежним:
1. Самокат сделан на react native
2. Сбермегамаркет на нативе
проснитесь. Как получилось так, что рн выглядит лучше натива?
1. Самокат сделан на react native
2. Сбермегамаркет на нативе
проснитесь. Как получилось так, что рн выглядит лучше натива?
👎27👍10😡7
Лучшие компании для карьеры иос-разработчиком?
Anonymous Poll
7%
2ГИС
17%
Ozon
28%
Avito
32%
Yandex
10%
Сбер
37%
Тинькофф
5%
3%
Wildberries
5%
MTS
38%
Другое
👎22👍1
Почему Kotlin Multiplatform не добьется успеха
Известный разработчик и автор делится мнением что:
👉 Разработчики не хотят менять стек, особенно iOS разработчики
👉 Уже было много попыток сделать это
👉 Разработчикам надо знать несколько языков и платформ, но хороших разработчиков-полиглотов очень мало
👉 Сложность мультиплатформенных библиотек и SDK либо они имеют мало функционала
👉 Компании с сильными инженерами только смогут успешно применить KMP, а это высокие зарплаты
Мне, честно, надоел этот хайп вокруг КММ. Но увидел пост тут. Все чаще замечаю агрессивные лозунги в комментах интернета от андроидеров "иосеры не хотят учить кмм — мы их вытесним". Где-то мы уже такое слышали...
Такие настрои не создают культуру для успешной интеграции, а скорее похожи на ресентименты. Гораздо эффективней приносить реальные кейсы и сделать качественный проект на обеих платформах, чем заставлять иосеров учить котлин, делая минимальные движения и не улучшая пользовательский опыт. Обмениваться фактами, а не докладами и мнениями. Не вставать в атакующую позицию и вести конструктивный диалог на совершенно логичные вопросы. Но в ответ получаем обвинения разрабов, эйпл и Стива Джобса.
Некоторые ютуберы и блогеры, у которых платные курсы по кмм, будто подпитывают этот шейминг и цитата "не уйдешь со свифта — уйдешь на помойку". Иноагенты Авроры? DevRel Jetbrains? Будто формируется радикальное движение ненавистников эпл и киперов своего бизнеса, а не любителей других технологий.
Давайте не накалять и жить дружно.
Известный разработчик и автор делится мнением что:
👉 Разработчики не хотят менять стек, особенно iOS разработчики
👉 Уже было много попыток сделать это
👉 Разработчикам надо знать несколько языков и платформ, но хороших разработчиков-полиглотов очень мало
👉 Сложность мультиплатформенных библиотек и SDK либо они имеют мало функционала
👉 Компании с сильными инженерами только смогут успешно применить KMP, а это высокие зарплаты
Мне, честно, надоел этот хайп вокруг КММ. Но увидел пост тут. Все чаще замечаю агрессивные лозунги в комментах интернета от андроидеров "иосеры не хотят учить кмм — мы их вытесним". Где-то мы уже такое слышали...
Такие настрои не создают культуру для успешной интеграции, а скорее похожи на ресентименты. Гораздо эффективней приносить реальные кейсы и сделать качественный проект на обеих платформах, чем заставлять иосеров учить котлин, делая минимальные движения и не улучшая пользовательский опыт. Обмениваться фактами, а не докладами и мнениями. Не вставать в атакующую позицию и вести конструктивный диалог на совершенно логичные вопросы. Но в ответ получаем обвинения разрабов, эйпл и Стива Джобса.
Некоторые ютуберы и блогеры, у которых платные курсы по кмм, будто подпитывают этот шейминг и цитата "не уйдешь со свифта — уйдешь на помойку". Иноагенты Авроры? DevRel Jetbrains? Будто формируется радикальное движение ненавистников эпл и киперов своего бизнеса, а не любителей других технологий.
Давайте не накалять и жить дружно.
DONN FELKER
Why Kotlin Multiplatform Won’t Succeed - DONN FELKER
Kotlin Multiplatform (KMP) is destined for mediocrity. KMP never gain mass adoption and will it remain in obscurity; only to be used by a small subset of the software world, regardless how much it is promoted and touted as the next best thing. Why? Human…
👍40👎5
Привет! На связи Podlodka iOS Crew — онлайн-конференция для мобильных разработчиков.
🤔 Развитие в IT порой напоминает блуждание по лабиринту. Куда свернуть, какой путь выбрать? C джунами всё понятно — нужно растить грейд до middle и senior, но что делать дальше?
📈 Как правильно выстроить карьеру iOS-разработчика — вот основная тема нового сезона, который стартует 27 ноября.
В этот раз вас ждут важные пойнты про эволюцию iOS-программиста. Спикеры из крупных компаний уделят внимание трём китам развития — опыту, навыкам и практике:
🔹 Помогут составить карьерный роадмап — найти точки роста, источники вдохновения, преодолеть ментальные барьеры.
🔹 Объяснят, как привести pet-проект к результату в 10к пользователей в месяц.
🔹 Обсудят, как работать в зарубежных компаниях в разных частях мира на круглом столе.
🎁 Бонус: новый формат Podlodka Lightning Talks. Это короткие авторские видео от экспертов iOS-разработки о hard и soft-навыках.
Купить билет можно на сайте: https://podlodka.io/ioscrew
Реклама. ИП Толстая Елена Петровна ИНН:507503278104 erid:2SDnjcLtQHW
🤔 Развитие в IT порой напоминает блуждание по лабиринту. Куда свернуть, какой путь выбрать? C джунами всё понятно — нужно растить грейд до middle и senior, но что делать дальше?
📈 Как правильно выстроить карьеру iOS-разработчика — вот основная тема нового сезона, который стартует 27 ноября.
В этот раз вас ждут важные пойнты про эволюцию iOS-программиста. Спикеры из крупных компаний уделят внимание трём китам развития — опыту, навыкам и практике:
🔹 Помогут составить карьерный роадмап — найти точки роста, источники вдохновения, преодолеть ментальные барьеры.
🔹 Объяснят, как привести pet-проект к результату в 10к пользователей в месяц.
🔹 Обсудят, как работать в зарубежных компаниях в разных частях мира на круглом столе.
🎁 Бонус: новый формат Podlodka Lightning Talks. Это короткие авторские видео от экспертов iOS-разработки о hard и soft-навыках.
Купить билет можно на сайте: https://podlodka.io/ioscrew
Реклама. ИП Толстая Елена Петровна ИНН:507503278104 erid:2SDnjcLtQHW
👍7👎6😡2❤🔥1
Лучшие компании для карьеры иос-разработчиком? ч. 2
Anonymous Poll
38%
Dodo
3%
МойОфис
17%
Альфа
31%
VK
7%
Касперский
2%
Совкомбанк
2%
Билайн
1%
Теле2
38%
Другое
👎26👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Прикольная фича SwiftUI с автоматической грамматикой
👍53❤🔥1
ChatGPT для iOS разрабов
Недавно я проводил опрос как разрабы интегрировали революционные инструменты в жизнь. Некоторые писали или говорили, что уже не знают как без них работать. А до многих эти технологии так и не дошли.
В статье ребята из lamoda рассказывают как сделать простую апку с помощью известной сети.
Ждем разрабов в мусорке или учимся правильно задавать вопросы?
Недавно я проводил опрос как разрабы интегрировали революционные инструменты в жизнь. Некоторые писали или говорили, что уже не знают как без них работать. А до многих эти технологии так и не дошли.
В статье ребята из lamoda рассказывают как сделать простую апку с помощью известной сети.
Ждем разрабов в мусорке или учимся правильно задавать вопросы?
Хабр
ChatGPT-4 в помощь: используем AI в доработке простого iOS-приложения
Мне всегда было интересно, как AI-инструменты изменят трудовые будни программиста. Когда появился ChatGPT, я начал пробовать использовать его в работе, и он быстро стал для меня вспомогательным...
👍7
Правильные Atomic свойства
Как-то на интервью меня спросили как сделать правильный atomic класс. Был дан класс, в котором есть свойство с геттером и сеттером. Что с ним не так?
В теории, все ок. Только есть один нюанс. Я помнил о нем. По отдельности геттер и сеттер будут работать нормально, но если будет оператор +=, то начнется гонка.
Потом уже я вспомнил решение, которое помогает нам решить эту проблему — создать отдельный метод для мутации.
Дополнительно про атомарность:
- Swift Atomic Properties with Property Wrappers
- Atomic Properties in Swift
- Benchmarking Swift Locking APIs
Как-то на интервью меня спросили как сделать правильный atomic класс. Был дан класс, в котором есть свойство с геттером и сеттером. Что с ним не так?
final class Atomic<Value> {
private let queue = DispatchQueue(
label: "com.test.atomic"
)
private var value: Value
var wrappedValue: Value {
get { return queue.sync { value } }
set { queue.sync { value = newValue } }
}
}
В теории, все ок. Только есть один нюанс. Я помнил о нем. По отдельности геттер и сеттер будут работать нормально, но если будет оператор +=, то начнется гонка.
Потом уже я вспомнил решение, которое помогает нам решить эту проблему — создать отдельный метод для мутации.
Дополнительно про атомарность:
- Swift Atomic Properties with Property Wrappers
- Atomic Properties in Swift
- Benchmarking Swift Locking APIs
www.objc.io
Swift Tip: Atomic Variables
Providing synchronized access to values
❤🔥7👍3👎2
Не зовите джунов и мидлов проводить сложные собесы
Ревьюер часто ошибается. У нас в компании есть обучение перед тем, как проводить собес. На каждой секции тебе надо 3 раза быть слушателем и 2 раза получить апрув под присмотром опытного ревьюера. Всего секций может быть 5. Быть хорошим интервьюером тоже навык.
Мне иногда ставят собесы, чтобы я оценивал тимлидов или техлидов. Хоть я и прошел весь отбор к собесам и провел уже >50 разных, без обучения таким собесам я отказываю. Одно дело собесить разрабов с небольшим опытом… Есть несколько причин:
1. Тимлидов должен оценивать опытный ревьюер тимлид или пара сеньоров
2. У нас с ними будет другой язык
Помимо четких односложных формулировок, опытный интервьюер должен обладать многими навыками. Где чаще софты не менее важны, чем харды . Часто бывает, что неопытные интервьюеры допускают ошибки при оценки кандидата. Они закапываются в незначительные детали, спорят о незадокументированных редких вещах или уходят в споры о теории. Это проблемы из-за малого практического опыта. В представлениях новичков есть свои проекции черного и белого.
Еще хуже, когда собеседование превращается не в лайтовый процесс оценки кандидата, а в стрессовую конкуренцию. Интервьюера может занести не туда и думать, что это интеллектуальная игра "Что? Где? Когда?" в которой он должен быть победителем.
Кто-то скажет, что методички помогают. Но часто нет. Методички всеми трактуются по-разному, даже если их четко прописать. Их будут игнорировать или забывать. А еще чаще видно, что автор задач в методичке закладывал один смысл, а менее опытный интервьюер или разработчик вложил свои идеи и домыслы.
Ревьюер часто ошибается. У нас в компании есть обучение перед тем, как проводить собес. На каждой секции тебе надо 3 раза быть слушателем и 2 раза получить апрув под присмотром опытного ревьюера. Всего секций может быть 5. Быть хорошим интервьюером тоже навык.
Мне иногда ставят собесы, чтобы я оценивал тимлидов или техлидов. Хоть я и прошел весь отбор к собесам и провел уже >50 разных, без обучения таким собесам я отказываю. Одно дело собесить разрабов с небольшим опытом… Есть несколько причин:
1. Тимлидов должен оценивать опытный ревьюер тимлид или пара сеньоров
2. У нас с ними будет другой язык
Помимо четких односложных формулировок, опытный интервьюер должен обладать многими навыками. Где чаще софты не менее важны, чем харды . Часто бывает, что неопытные интервьюеры допускают ошибки при оценки кандидата. Они закапываются в незначительные детали, спорят о незадокументированных редких вещах или уходят в споры о теории. Это проблемы из-за малого практического опыта. В представлениях новичков есть свои проекции черного и белого.
Еще хуже, когда собеседование превращается не в лайтовый процесс оценки кандидата, а в стрессовую конкуренцию. Интервьюера может занести не туда и думать, что это интеллектуальная игра "Что? Где? Когда?" в которой он должен быть победителем.
Кто-то скажет, что методички помогают. Но часто нет. Методички всеми трактуются по-разному, даже если их четко прописать. Их будут игнорировать или забывать. А еще чаще видно, что автор задач в методичке закладывал один смысл, а менее опытный интервьюер или разработчик вложил свои идеи и домыслы.
👍45
Fast Safe Mutable State
Старый, но интересный доклад про решения частых задач и устройство языка Swift:
🟡 Оценка сложности функций высшего порядка при разных контекстах
🟡 Оптимизация решений
🟡 Разбор частых проблем
🟡 Бенчмарки решений
🟡 Оптимизации с помощью Copy-On-Write
🟡 Анализ исходников языка и коллекций
Когда искал бронзу, а нашел золото
Старый, но интересный доклад про решения частых задач и устройство языка Swift:
Когда искал бронзу, а нашел золото
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Ben Cohen - Fast Safe Mutable State
👍18❤🔥2
8 лучших технологий управления временем
Про планирование и таймменеджменте говорят уже 10 лет и тяжело его назвать модным навыком. Уже есть множество техник и у каждого есть свои фавориты.
Про это рассказали уже во многих статьях и даже внедрили в обязательную программу высшего образования. Это обязательный софт скилл.
Назову ли я себя экспертом в планировании? Нет. Продолжаю ли я расписывать свой день и жить по расписанию? Да.
Недавно я решил улучшить этот навык и структурировать этот вопрос. Собрал, на мой взгляд, лучшие практики:
🔵 Принцип Парето
🔵 Матрица Эйзенхауэра
🔵 Mindmaps
🔵 Пирамида Франклина
🔵 Метод АБВГД
🔵 Задачи лягушек
🔵 Джедайские техники
🔵 Метод помидора
Про планирование и таймменеджменте говорят уже 10 лет и тяжело его назвать модным навыком. Уже есть множество техник и у каждого есть свои фавориты.
Про это рассказали уже во многих статьях и даже внедрили в обязательную программу высшего образования. Это обязательный софт скилл.
Назову ли я себя экспертом в планировании? Нет. Продолжаю ли я расписывать свой день и жить по расписанию? Да.
Недавно я решил улучшить этот навык и структурировать этот вопрос. Собрал, на мой взгляд, лучшие практики:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forbes.ru
Закон Парето, или правило 80/20: как достигать большего при минимальных усилиях
Иногда усердие не окупается, и мы получаем результат, далекий от ожидаемого. Всегда ли эти вещи соотносятся? Закон Парето (его еще называют правилом 80/20) заключается в том, что 20% усилий дают 80% результата. И если избавиться от факторов, которые
👍14👎6
Чистая архитектура для SwiftUI
Автор статьи говорит, что большинство архитектурных шаблонов уйдут в историю вместе с UIKit. Концептуальные и технические изменения не оставят никого в стороне:
🟢 MVVM новый общий стандарт
🟢 Координаторы тесно связаны с маршрутизацией
🟢 VIPER, VIP, RIB больше не имеют смысла
🟢 Хоть и кол-во слоев в Clean Architecture либерально, но чаще достаточно только три
Мне кажется, со временем мобильная разработка станет похожа на современный web, где понятие архитектурный шаблон сократилось до пары штук
Автор статьи говорит, что большинство архитектурных шаблонов уйдут в историю вместе с UIKit. Концептуальные и технические изменения не оставят никого в стороне:
Мне кажется, со временем мобильная разработка станет похожа на современный web, где понятие архитектурный шаблон сократилось до пары штук
Please open Telegram to view this post
VIEW IN TELEGRAM
Alexey Naumov
Clean Architecture for SwiftUI
Are VIPER, RIBs, MVVM, VIP, or MVC suitable for a SwiftUI project?
👍19👎10
MVU для SwiftUI
Об MVU я случайно узнал от андроид разрабов. Говорят, он уже 2 года как один из модных паттернов. Сразу пошел гуглить о нем и нашел статью, что паттерн стремительно набирает популярность в среде фронтенда, андроидов и геймдева.
MVU, популяризированный архитектурой Elm. В MVU модель определяет состояние приложения, представление отображает пользовательский интерфейс на основе состояния (модели), а функция обновления изменяет состояние на основе сообщений (таких как действия пользователя или ответы сервера). Этот однонаправленный поток данных обеспечивает предсказуемость пользовательского интерфейса и существенно упрощает отладку.
Еще один однонаправленный паттерн, который нам так не хватало.
Об MVU я случайно узнал от андроид разрабов. Говорят, он уже 2 года как один из модных паттернов. Сразу пошел гуглить о нем и нашел статью, что паттерн стремительно набирает популярность в среде фронтенда, андроидов и геймдева.
MVU, популяризированный архитектурой Elm. В MVU модель определяет состояние приложения, представление отображает пользовательский интерфейс на основе состояния (модели), а функция обновления изменяет состояние на основе сообщений (таких как действия пользователя или ответы сервера). Этот однонаправленный поток данных обеспечивает предсказуемость пользовательского интерфейса и существенно упрощает отладку.
Еще один однонаправленный паттерн, который нам так не хватало.
Medium
SwiftUI: Model View Update - Everything you need to know.
SwiftUI is essentially based on the MVU (Model-View-Update) pattern. In this pattern, the view observes observable variables to update…
👎14👍3
Что выведется в консоль?
Anonymous Quiz
16%
a, b, b, a
4%
nil, nil, b, a
8%
a, b, nil, nil,
45%
nil, nil, nil, nil
5%
Будет ошибка
22%
Посмотреть результат
👍10👎9
2# Что выведется в консоль ?
Anonymous Quiz
3%
a, b, nil, nil
10%
nil, b, b, nil
48%
a, b, b, a
11%
nil, nil, nil, nil
2%
nil, nil, b, a
3%
a, nil, nil, a
5%
будет ошибка
19%
посмотреть результат
👎11👍6😡6 1