Мобильная разработка – Telegram
Мобильная разработка
13.9K subscribers
857 photos
238 videos
2.96K links
Актуальное по мобильной разработке — Android, iOS, кроссплатформа

Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/oVBP
Download Telegram
⚡️OpenAI только что релизнули ChatGPT-o1 Pro — САМУЮ мощную модель на рынке прямо сейчас. Она уничтожает всех конкурентов по бенчам наглухо.

Но есть нюанс!

Подписка на этого монстра стоит космические ДВЕСТИ БАКСОВ.

Ну, что, давайте помечтаем, какие задачи мобильной разработки вы бы решали с помощью этой тулзы? А, может, кто-то ее купит? Велком в комментарии ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12😁8👍5😱3🤔1
Media is too big
VIEW IN TELEGRAM
ГИМН Java записали хэви-металлисты из группы Nanowar of Steel — весь текст песни состоит из КОДА

Код, кстати, рабочий — его залили на GitHub.

Разрабы сегодня трясут головой под гитарное соло.
🔥43👍83👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Сеньор-разработчик: решил немного отдохнуть в тишине.

Джуны:
😁26👍43😨1
Уменьшаем вес приложения и ускоряем его работу: 5 стратегий управления изображениями в iOS

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

PNG или PDF: что выбрать?

Если вы хотите уменьшить размер приложения — юзаем PNG. Несмотря на популярность PDF-изображений из-за удобства масштабирования и поддержки в Xcode, они весят больше.

До Xcode 15 PDF при архивировании разлетались на три PNG-файла. Теперь их конвертируют в три PDF-файла — объем ресурсов взлетает кратно.

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

Сжимаем изображения

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

• Попробуйте плагин TinyImage Compressor для Figma.
• В больших командах удобно автоматизировать проверку новых изображений через pre-commit hook. Если размер файла превышает 100 КБ, разработчику предлагается его сжать.

Используйте изображения подходящего размера

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

Например, картинка размером 6000x4000 пикселей займет 96 МБ оперативной памяти, даже если она сжимается до 5 МБ. Если ее выводить в UIImageView размером 300x200 — израсходуете слишком много ресурсов.

Apple рекомендует использовать технику Downsampling для уменьшения размеров изображения перед выводом:

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

Дубли — в помойку

В крупных проектах часто встречаются одинаковые изображения, добавленные разными разработчиками. Это увеличивает размер приложения и создает путаницу в управлении ресурсами.

• Настройте скрипт для автоматического поиска дубликатов на Python.
• Интегрируйте проверку в CI/CD-пайплайн, чтобы регулярно получать отчеты о дубликатах.

Удаляем неиспользуемые изображения

Регулярно удаляйте файлы, которые уже не юзаете.

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

Эти пять стратегий помогут уменьшить размер приложения и оптимизиваровать его производительность. Убирайте за собой — тогда и клиентам будет комфортнее юзать ваш софт.
👍12🔥84❤‍🔥1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Топовые мобильные приложения ИЗБАВЯТ вас от ТРЕВОГИ — блогерша составила свой топ для релакса:

Block blast — расставляем фигуры в верном порядке и кайфуем.
I love hue — двигаем блоки по цветам, чтобы получить идеальные и эстетичные градиенты.
Worrydolls — рассказываем милым виртуальным куклам обо всем, что вас беспокоит.
Soupsoup magazine — ищем скрытые предметы на картинка под релаксирующую музыку.

Сохраняем и не стрессуем перед началом рабочей недели.
🗿9🔥5👎43😁2❤‍🔥1👍1
Запретить ВСЕ иностранные мессенджеры хочет Минцифры. Под ограничения попадают работники маркетплейсов, доставок, банков, операторов связи и государственные служащие.

Ловите список иностранных мессенджеров от Роскомнадзора:

• Telegram,
• WhatsApp,
• Discord,
• Microsoft Teams,
• Snapchat,
• Viber,
• WeChat.

Запрет на использование приложений в рабочих целях планируют ввести с 1 сентября 2026 года.
😁30👎18👍8😭3🤪1💊1
Forwarded from Типичный программист
И мерч отправляется...

Наконец-то подводим итоги конкурса. Борьба была жаркая, но с небольшим отрывом побеждает статья «Как пополнить кошелек Steam в 2024 году», и ее автор Виктор получает мерч от Tproger!

В декабре вы тоже можете выиграть наш приз — к мерчу добавим кое-что интересное!

Выбирайте тему из Флудильни и пишите статью месяца!

#tproger #конкурс
🔥54👍3
🤩 Продвинутые техники работы с List в SwiftUI

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

Что такое List в SwiftUI?

List — это компонент, который отображает данные в виде вертикально прокручиваемого списка. Это мощный инструмент, позволяющий строить интерфейсы с различными уровнями сложности.

Простой пример использования:
struct SimpleListView: View {
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]

var body: some View {
List(items, id: \.self) { item in
Text(item)
}
}
}


Теперь разберем, как улучшить работу с List с помощью кастомизации, оптимизации и тестирования.

1. Кастомизация строк списка

Как сделать строки в списке более интересными? Добавьте изображения, кнопки и другие элементы интерфейса.
struct CustomRowListView: View {
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]

var body: some View {
List(items, id: \.self) { item in
HStack {
Image(systemName: "leaf")
.foregroundColor(.green)
Text(item)
.font(.headline)
Spacer()
Button(action: {
print("\(item) selected")
}) {
Image(systemName: "info.circle")
}
}
}
}
}


Этот подход позволяет добавить интерактивности и визуальной привлекательности вашему приложению.

2. Группировка элементов с помощью секций

Чтобы логически разделить данные, можно использовать заголовки и нижние колонтитулы для секций.
struct SectionedListView: View {
let fruits = ["Apple", "Banana", "Cherry"]
let vegetables = ["Carrot", "Lettuce", "Tomato"]

var body: some View {
List {
Section(header: Text("Fruits")) {
ForEach(fruits, id: \.self) { item in
Text(item)
}
}
Section(header: Text("Vegetables")) {
ForEach(vegetables, id: \.self) { item in
Text(item)
}
}
}
}
}


Секции помогают пользователям легче ориентироваться в данных и находить нужное.

3. Действия по свайпу

C их помощью удалять или редачить элементы списка много проще.
struct SwipeActionListView: View {
@State private var items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]

var body: some View {
List {
ForEach(items, id: \.self) { item in
Text(item)
.swipeActions {
Button(role: .destructive) {
if let index = items.firstIndex(of: item) {
items.remove(at: index)
}
} label: {
Label("Delete", systemImage: "trash")
}
}
}
}
}
}


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

4. Поиск в списке

С этой функцией пользователь быстрее найдет нужные данные.
struct SearchableListView: View {
@State private var searchText = ""
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]

var filteredItems: [String] {
if searchText.isEmpty {
return items
} else {
return items.filter { $0.contains(searchText) }
}
}

var body: some View {
List(filteredItems, id: \.self) { item in
Text(item)
}
.searchable(text: $searchText)
}
}


Добавление поиска делает списки более интерактивными и удобными.

Эти техники помогут вам создавать более динамичные и удобные интерфейсы.

Кто будет внедрять фичи — велком в комменты ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🥰3🤝2❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда уже хотел уволиться, но тебе дали новогоднюю премию.
😁34🔥15👍3
This media is not supported in your browser
VIEW IN TELEGRAM
OpenAI МЕНЯЕТ iPhone с помощью ChatGPT — Сэм Альтман с командой показали все детали звездного коллаба:

• Вместо Siri вопросы можно задавать ChatGPT.
Нейросеть — НЕ поисковик. Она решает сложные задачи, например, составит идеальные планы на новогодние каникулы.
ChatGPT генерит картинки за секунду.
• ИИ «кушает» картинки прямо с камеры телефона — сфоткали и залили. Нейронка обработает фото и ответит на любой вопрос.
ChatGPT также встроили в Mac — нейросеть отслеживает все файлы и программы. Ей можно задавать вопросы.

Нейрообнову iOS 18.2 уже можно скачать — работает она из интерфейса айфона или Мака по ОДНОМУ КЛИКУ.
🔥9😱5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️OpenAI РЕЛИЗНУЛА ПУШКУ — голосовой помощник теперь смотрит в камеру мобильного, анализирует обстановку и дает советы.

Как это работает: ChatGPT в ЛАЙВЕ вступает в беседу, подхватывает ее контекст и участвует в ней КАК РАЗУМНЫЙ ЧЕЛОВЕК. Всех ИИ-помощников можете выбрасывать — это революция от Сэма Альтмана прямой сейчас и в вашем кармане!

Смотрите видос и держите себя в руках — нейросеть подключили через мобилку, а она запомнила ВСЕХ присутствующих по внешнему виду и именам, а потом общалась с ними, как давний кореш.

Ай да Альтман, ай да…
🥱18🔥11🤨4👍1🤔1
Google Play для разрабов из РФ — ВСЁ. Платформа официально разорвала сотрудничество с отечественными прогерами. С 26 декабря все платежи от аккаунтов с российскими банковскими счетами перекроют.

Российские разрабы больше не будут получать доход от продаж приложений — финальную выплату гонорара назначат на 15 января. Далее платные подписки на такие приложения будут недоступны во всём мире.

Press F.
😱28😁18😢9🔥4🤔4👎3😭3
Forwarded from IT Юмор
Джун: *каждый месяц меняет заставку на экране*

Сеньор:
This media is not supported in your browser
VIEW IN TELEGRAM
👍37😁23🔥94😭3
⚡️ Viber в РФ — ВСЁ. РКН прикрыл мессенджер за распространение экстремистской и террористической информации, сообщили в ведомстве.

Отмечается, что там вербовали граждан для терактов, торговли наркотиками и другой запрещенной деятельности.
😁33👍10😱7💊4🤪3👎2😭2
Самые популярные функции Intellij IDEA для разработчиков — сможете с легкостью избавиться от большей части рутинной работы и бустануть продуктивность В РАЗЫ.

Мегаконцентрат для начинающих и опытных спецов о хокеях, истории изменений и пресетах с кучей примеров и даже площадок для практики.

Взлет продуктивности любого разработчика — здесь.
😁14👍7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Главное, что оно работает? Работает ведь?
😁37🤯7👍5🤣2😱1
Генерация эмодзи в iOS 18.2 бесподобна. Юзеры уже нашли способ обойти цензуру.
😁38👍6🔥41