Дефолтный аватар как в Telegram
Видео для начинающих iOS разработчиков с использованием такого стэка:
🔹 UITableView
🔹 CustomTableViewCell
🔹 UIAlertController
🔹 String extensions
01:26 - CustomTableView
02:40 - CustomTableViewCell
08:46 - CustomTableView
12:54 - ViewController
17:23 - AlertManager
23:44 - Pass data
27:40 - String extension
#туториал
Видео для начинающих iOS разработчиков с использованием такого стэка:
🔹 UITableView
🔹 CustomTableViewCell
🔹 UIAlertController
🔹 String extensions
01:26 - CustomTableView
02:40 - CustomTableViewCell
08:46 - CustomTableView
12:54 - ViewController
17:23 - AlertManager
23:44 - Pass data
27:40 - String extension
#туториал
👍9❤2🔥2
Compose Multiplatform для iOS и Android
Бизнес хочет быстро запускаться, быстро проводить эксперименты — нужно уметь не терять время на разработку одинакового UI.
Правка багов только на одной стороне, так как верстка сразу на iOS & Android.
Time to market сокращается.
📌 Для кого доклад: iOS и Android-разработчики всех уровней. Также будет полезно веб-разработчикам.
📺 Смотреть
#видео
Бизнес хочет быстро запускаться, быстро проводить эксперименты — нужно уметь не терять время на разработку одинакового UI.
Правка багов только на одной стороне, так как верстка сразу на iOS & Android.
Time to market сокращается.
📌 Для кого доклад: iOS и Android-разработчики всех уровней. Также будет полезно веб-разработчикам.
📺 Смотреть
#видео
👍7❤2
😎 Очередной #дайджест по мобильной разработке
🔺 Поиск мотивации. Ментор же решит всё. Что мне делать — разбор писем от подписчиков на тему проблем с мотивацией и развитием
🔺 Есть ли смысл начинать писать мобильное приложение не на Kotlin Multiplatform и Compose Multiplatform? — размышления о проблемах при раздельной нативной разработке, KMP и CMP
🔺 Новый инструмент для тестирования макросов в Swift — позволяет проверить все аспекты макросов, включая диагностику, исправления и многое другое
🔺 Android Studio for Platform — версия IDE на основе AOSP при использовании Soong. Поддерживается C++, Java и Kotlin, работает на Linux
🔺 Уровни доступа в Swift с примерами — ознакомление с уровнями доступа, разбор нюансов и изучение реальных примеров того, когда и как их эффективно использовать
🔺 Поиск мотивации. Ментор же решит всё. Что мне делать — разбор писем от подписчиков на тему проблем с мотивацией и развитием
🔺 Есть ли смысл начинать писать мобильное приложение не на Kotlin Multiplatform и Compose Multiplatform? — размышления о проблемах при раздельной нативной разработке, KMP и CMP
🔺 Новый инструмент для тестирования макросов в Swift — позволяет проверить все аспекты макросов, включая диагностику, исправления и многое другое
🔺 Android Studio for Platform — версия IDE на основе AOSP при использовании Soong. Поддерживается C++, Java и Kotlin, работает на Linux
🔺 Уровни доступа в Swift с примерами — ознакомление с уровнями доступа, разбор нюансов и изучение реальных примеров того, когда и как их эффективно использовать
❤24👍4🔥1
🗜Как отслеживать аномалии метрик производительности приложения с помощью перф-тестов
Автор (руководитель разработки iOS-версии приложения Яндекс) подробно рассказал о замерах метрик производительности на стороне клиента. Тезисно:
➖Плюсы и минусы разных способов получения данных
➖Откуда берутся проблемы в перф-тестах и как их избежать
➖Почему полезно детектировать аномалии не только в плане ухудшения, но и улучшения
➖Из чего состоит перф-ферма Яндекса для iOS и как она выглядит
Читать статью.
Автор (руководитель разработки iOS-версии приложения Яндекс) подробно рассказал о замерах метрик производительности на стороне клиента. Тезисно:
➖Плюсы и минусы разных способов получения данных
➖Откуда берутся проблемы в перф-тестах и как их избежать
➖Почему полезно детектировать аномалии не только в плане ухудшения, но и улучшения
➖Из чего состоит перф-ферма Яндекса для iOS и как она выглядит
Читать статью.
🔥5❤1👍1
Как вам больше нравится организовывать проект?
Anonymous Poll
64%
Делю каждый класс в отдельный файл. Лучше много файлов, чем много строк
31%
Могу разместить несколько классов в одном файле. Слежу за размером строк.
4%
Могу вынести в файл все вместе. Не люблю много файлов. Лучше все в одном месте
1%
Свой вариант (в комментарий)
❤6👍2
💪🌊🌊 Kotlin Flow: простая, но мощная реализация
Flow — это простая, но мощная реализация для асинхронного программирования на Kotlin и не что иное, как корутина, возвращающая несколько результатов или два интерфейса и их функции, вызывающие друг друга. Это позволяет разработчикам писать структурно параллельный, асинхронный и неблокирующий код в последовательном стиле.
Причина, по которой Flow может сделать это без особых затрат, заключается в том, что он имеет очень простую внутреннюю реализацию.
Подробнее
#гайд
Flow — это простая, но мощная реализация для асинхронного программирования на Kotlin и не что иное, как корутина, возвращающая несколько результатов или два интерфейса и их функции, вызывающие друг друга. Это позволяет разработчикам писать структурно параллельный, асинхронный и неблокирующий код в последовательном стиле.
Причина, по которой Flow может сделать это без особых затрат, заключается в том, что он имеет очень простую внутреннюю реализацию.
Подробнее
#гайд
🔥8❤4🥰1😁1🥱1
🕹️🎯 ANR internals: touch dispatching через иерархию представлений
ANR триггеры
Как возникает ошибка "Application Not Responding" (ANR)?
Согласно документации Android ANR:
Когда UI поток приложения для Android блокируется слишком надолго, возникает ошибка "Приложение не отвечает" (ANR).
В то время как блокировка UI потока является причиной большинства ANR, ОС Android не заботится о том, что в это время делает основной поток вашего приложения. Вместо этого у него есть ожидания относительно того, сколько времени приложениям потребуется для обработки нескольких конкретных событий. И означает, что приложение не реагирует на систему, а не на пользователя.
Продолжение здесь
#туториал
ANR триггеры
Как возникает ошибка "Application Not Responding" (ANR)?
Согласно документации Android ANR:
Когда UI поток приложения для Android блокируется слишком надолго, возникает ошибка "Приложение не отвечает" (ANR).
В то время как блокировка UI потока является причиной большинства ANR, ОС Android не заботится о том, что в это время делает основной поток вашего приложения. Вместо этого у него есть ожидания относительно того, сколько времени приложениям потребуется для обработки нескольких конкретных событий. И означает, что приложение не реагирует на систему, а не на пользователя.
Продолжение здесь
#туториал
👍6❤1🔥1
🏃⚙️ Настройка производительности Kotlin
Производительность — это критический показатель, который может улучшить или сломать ваше приложение. В то время как Kotlin предлагает множество функций, упрощающих разработку, знание того, как использовать их для повышения производительности, может изменить правила игры.
Среди советов есть следующие:
➕ Используйте val вместо var
➕ Избегайте оператора !!
➕ Используйте when вместо длинных цепочек if-else
➕ Используйте строковые шаблоны
➕ Используйте apply для Object Initialization
➕ Встроенные функции
➕ List вместо Array
➕ Избегайте использования Java Streams
Подробнее
#обучалка
Производительность — это критический показатель, который может улучшить или сломать ваше приложение. В то время как Kotlin предлагает множество функций, упрощающих разработку, знание того, как использовать их для повышения производительности, может изменить правила игры.
Среди советов есть следующие:
➕ Используйте val вместо var
➕ Избегайте оператора !!
➕ Используйте when вместо длинных цепочек if-else
➕ Используйте строковые шаблоны
➕ Используйте apply для Object Initialization
➕ Встроенные функции
➕ List вместо Array
➕ Избегайте использования Java Streams
Подробнее
#обучалка
👍6❤3🥰2🥱1
Какой iPhone себе купите?
Anonymous Poll
4%
iPhone 15
0%
iPhone 15 Max
9%
iPhone 15 Pro
15%
iPhone 15 Pro Max
2%
iPhone SE
40%
Зачем мне это?!
10%
Куплю Android и буду плакать
9%
Куплю Хуавей и пошло все....
9%
Свой вариант
🥰33❤17🔥9👏6👍3
🔎💼🗺️ Как программисту искать (и найти) работу за границей в 2023 году
Разбираемся: где искать работу за рубежом, как и где откликаться на вакансии, плюс несколько лайфхаков по составлению резюме.
Читать статью
#поискработы
Разбираемся: где искать работу за рубежом, как и где откликаться на вакансии, плюс несколько лайфхаков по составлению резюме.
Читать статью
#поискработы
👍7🔥3❤1
💪 Держите подборку лучших статей «Библиотеки программиста» за июль.
📖 ТОП-10 книг, без которых не обойтись ни одному программисту
👨💻 Тест: есть ли у вас способности к программированию?
🐍🎸 Курс Django. Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
📉 Cитуация на рынке труда в IT: зарплаты и куда все катится в 2023 году
🤖 4 сферы применения ChatGPT, Bing, Bard и Claude 2
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🐇 Как проводить успешные переговоры: 3 правила активного слушания
🐍 Самоучитель по Python для начинающих. Часть 24: Основы работы с NumPy
#самыйсок
📖 ТОП-10 книг, без которых не обойтись ни одному программисту
👨💻 Тест: есть ли у вас способности к программированию?
🐍🎸 Курс Django. Часть 1: Django — что это? Обзор и установка фреймворка, структура проекта
📉 Cитуация на рынке труда в IT: зарплаты и куда все катится в 2023 году
🤖 4 сферы применения ChatGPT, Bing, Bard и Claude 2
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🐇 Как проводить успешные переговоры: 3 правила активного слушания
🐍 Самоучитель по Python для начинающих. Часть 24: Основы работы с NumPy
#самыйсок
👍5❤2
😎 Очередной #дайджест по мобильной разработке
🔺 Вечная битва за производительность приложений на iOS — чек-лист, на что обратить внимание и к каким инструментам присмотреться
🔺 CNLabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaughter — тест на внимательность, ну и дока интересная
🔺 Java 21 — вышла общедоступная версия Java 21 — около 2500 закрытых задач и 15 JEP'ов
🔺 Swift 5.9 — появилась система макросов, пакеты параметров, if/switch в качестве выражений и многое другое
🔺 ArchUnit vs. Konsist. Зачем нам понадобился еще один линтер Kotlin? — почему ArchUnit не идеален для Kotlin и в чем заключается польза Konsist
🔺 Вечная битва за производительность приложений на iOS — чек-лист, на что обратить внимание и к каким инструментам присмотреться
🔺 CNLabelContactRelationYoungerCousinMothersSiblingsDaughterOrFathersSistersDaughter — тест на внимательность, ну и дока интересная
🔺 Java 21 — вышла общедоступная версия Java 21 — около 2500 закрытых задач и 15 JEP'ов
🔺 Swift 5.9 — появилась система макросов, пакеты параметров, if/switch в качестве выражений и многое другое
🔺 ArchUnit vs. Konsist. Зачем нам понадобился еще один линтер Kotlin? — почему ArchUnit не идеален для Kotlin и в чем заключается польза Konsist
👍28❤4
🎙️📺 Собеседование на позицию Mobile Developer
В видосе спикер проведет собес с обсуждением знаний, которые пригодятся в повседневной разработке. В процессе общения будет проектироваться мультиплатформенное приложение (проектирование и общение по KMP), задача по корутинам, и в завершение — Compose и важные оптимизации.
Смотреть видео
#обучение
В видосе спикер проведет собес с обсуждением знаний, которые пригодятся в повседневной разработке. В процессе общения будет проектироваться мультиплатформенное приложение (проектирование и общение по KMP), задача по корутинам, и в завершение — Compose и важные оптимизации.
Смотреть видео
#обучение
👍9❤3
🤔🤔 Чего ждать от Kotlin K2
Новый K2 компилятор и прежде чем пытаться понять изменения в компиляторе, нужно выяснить мотивы, стоящие за этими изменениями:
🔹 Kotlin и его синтаксис постоянно развиваются. Компилятор должен эволюционировать, чтобы учесть эти изменения
🔹 Компилятор должен быть более эффективным. Первый компилятор никогда не был быстрым, он обеспечивал быструю разработку.
🔹 Улучшенная поддержка многопоточности и мультиплатформенности. Поскольку Kotlin берет на себя ответственность за компиляцию кода для различных платформ и целевых объектов, для компилятора становится важным поддерживать различные функции платформы, одновременно эффективно компилируя код Kotlin.
🔹 Улучшенные структуры компилятора. Компиляторы используют различные структуры данных для хранения семантической информации о коде. Реализация абстрактного синтаксического дерева в компиляторе Kotlin не очень полезна для будущей дорожной карты.
Подробнее
#обзор
Новый K2 компилятор и прежде чем пытаться понять изменения в компиляторе, нужно выяснить мотивы, стоящие за этими изменениями:
🔹 Kotlin и его синтаксис постоянно развиваются. Компилятор должен эволюционировать, чтобы учесть эти изменения
🔹 Компилятор должен быть более эффективным. Первый компилятор никогда не был быстрым, он обеспечивал быструю разработку.
🔹 Улучшенная поддержка многопоточности и мультиплатформенности. Поскольку Kotlin берет на себя ответственность за компиляцию кода для различных платформ и целевых объектов, для компилятора становится важным поддерживать различные функции платформы, одновременно эффективно компилируя код Kotlin.
🔹 Улучшенные структуры компилятора. Компиляторы используют различные структуры данных для хранения семантической информации о коде. Реализация абстрактного синтаксического дерева в компиляторе Kotlin не очень полезна для будущей дорожной карты.
Подробнее
#обзор
👍7❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Tiling — это реализация пагинации на основе состояния, которая представляет выгружаемый набор данных в виде простого списка. Он обеспечивает постоянный доступ к элементам по индексам в режиме реального времени и возможность самоанализа элементов, просматриваемых по страницам.
Tiller доступен в mavenCentral:
implementation com.tunjid.tiler:tiler:version
Читать статью
#гайд
Tiller доступен в mavenCentral:
implementation com.tunjid.tiler:tiler:version
Читать статью
#гайд
🤩13👍8❤3🔥1
🚢 Сертифицированная версия ViPNet OSSL с поддержкой ОС Аврора
ViPNet OSSL — ПО на базе библиотеки OpenSSL, которое позволяет использовать российские криптографические алгоритмы ГОСТ в прикладных системах. ViPNet OSSL 5.4 является законченным встраиваемым средством криптографической защиты информации (СКЗИ) и может быть использован разработчиками в приложениях и прикладных системах, с помощью которых можно подписывать документы и осуществлять проверку электронной подписи, устанавливать защищенные соединения по протоколам TLS 1.2 и 1.3, создавать крипто-защищенные сообщения в формате CMS и работать с различными форматами электронной подписи. Теперь эти возможности доступны и для приложений под управлением ОС Аврора.
Программный комплекс ViPNet OSSL версии 5.4 соответствует всем требованиям ФСБ России к СКЗИ и требованиям к средствам электронной подписи.
Подробности тут
#новости
ViPNet OSSL — ПО на базе библиотеки OpenSSL, которое позволяет использовать российские криптографические алгоритмы ГОСТ в прикладных системах. ViPNet OSSL 5.4 является законченным встраиваемым средством криптографической защиты информации (СКЗИ) и может быть использован разработчиками в приложениях и прикладных системах, с помощью которых можно подписывать документы и осуществлять проверку электронной подписи, устанавливать защищенные соединения по протоколам TLS 1.2 и 1.3, создавать крипто-защищенные сообщения в формате CMS и работать с различными форматами электронной подписи. Теперь эти возможности доступны и для приложений под управлением ОС Аврора.
Программный комплекс ViPNet OSSL версии 5.4 соответствует всем требованиям ФСБ России к СКЗИ и требованиям к средствам электронной подписи.
Подробности тут
#новости
👍8❤3
🧑✈️🥷 Jailbreak checker — как обезопасить свое iOS-приложение
Из-за получения полного доступа к системе появляется и доступ к незащищенному keychain. После взлома у пользователя появляется доступ к альтернативным сторам, из которых можно скачать приложения, не проходившие ревью в App Store. Одним из таких является Cydia, который чаще всего сразу же устанавливается в момент взлома устройства.
После джейлбрейка у мошенников появляется возможность взлома устройства по нескольким причинам:
🟠 Приложения, которые становится возможным скачать в результате джейлбрейка, не проверяются никем, поэтому могут быть небезопасны.
🟠 Apple не поддерживает устройства с jailbreak, из-за чего после взлома они перестают получать важные обновления, в том числе обновления системы безопасности.
🟠 В случае взлома устройства компания Apple аннулирует гарантию на него, и при поломке его уже нельзя будет отремонтировать в официальном сервисе.
Чем же это может быть опасно для приложения?
🔴 Если оно работает с персональными данными либо с денежными средствами — нужно предупредить пользователя о плохом развитии событий.
🔴 Это небезопасно, если приложение используется в качестве двухфакторной аутентификации.
🔴 Так как устройство не получает необходимые обновления безопасности, это упрощает для мошенников получение доступа к данным.
Подробнее тут
#гайд
Из-за получения полного доступа к системе появляется и доступ к незащищенному keychain. После взлома у пользователя появляется доступ к альтернативным сторам, из которых можно скачать приложения, не проходившие ревью в App Store. Одним из таких является Cydia, который чаще всего сразу же устанавливается в момент взлома устройства.
После джейлбрейка у мошенников появляется возможность взлома устройства по нескольким причинам:
🟠 Приложения, которые становится возможным скачать в результате джейлбрейка, не проверяются никем, поэтому могут быть небезопасны.
🟠 Apple не поддерживает устройства с jailbreak, из-за чего после взлома они перестают получать важные обновления, в том числе обновления системы безопасности.
🟠 В случае взлома устройства компания Apple аннулирует гарантию на него, и при поломке его уже нельзя будет отремонтировать в официальном сервисе.
Чем же это может быть опасно для приложения?
🔴 Если оно работает с персональными данными либо с денежными средствами — нужно предупредить пользователя о плохом развитии событий.
🔴 Это небезопасно, если приложение используется в качестве двухфакторной аутентификации.
🔴 Так как устройство не получает необходимые обновления безопасности, это упрощает для мошенников получение доступа к данным.
Подробнее тут
#гайд
👍7❤2😁1
Подготовили вам #дайджест инструментов для новичков, ускоряющих разработку
🔻 Appery.io. Облачная платформа для кроссплатформенной разработки с возможностью перетаскивать элементы мышкой.
🔻 Appian Quick Apps. Вводите ключевые данные, после чего инструмент начинает сбор информации, создание форм и автоматизацию процессов. На выходе получаем приложение, с функциями, которые могут понадобиться пользователям.
🔻 Kony Visualizer. Инструмент для разработки wearables-приложений.
🔻 Perfecto Mobile. Бесплатная облачная, автоматизированная среда для тестирования с удобным UI, которая поможет выпустить приложение без ошибок.
🔻 Como. Поможет создать приложение, повышающие эффективность программ лояльности. Подойдет для владельцев бизнеса, которые хотят самостоятельно сделать и запустить приложение.
🔻 Appery.io. Облачная платформа для кроссплатформенной разработки с возможностью перетаскивать элементы мышкой.
🔻 Appian Quick Apps. Вводите ключевые данные, после чего инструмент начинает сбор информации, создание форм и автоматизацию процессов. На выходе получаем приложение, с функциями, которые могут понадобиться пользователям.
🔻 Kony Visualizer. Инструмент для разработки wearables-приложений.
🔻 Perfecto Mobile. Бесплатная облачная, автоматизированная среда для тестирования с удобным UI, которая поможет выпустить приложение без ошибок.
🔻 Como. Поможет создать приложение, повышающие эффективность программ лояльности. Подойдет для владельцев бизнеса, которые хотят самостоятельно сделать и запустить приложение.
👍5❤3🔥1
Какие технологии для кроссплатформы вы используете?
Anonymous Poll
30%
Kotlin multi platform
7%
React Native
5%
Xamarin
3%
PWA
48%
Ничего
12%
Свой вариант
❤6