Как стать автором
Поиск
Написать публикацию
Обновить
154

Разработка мобильных приложений *

Android, iOS, Windows Phone и прочие

Сначала показывать
Порог рейтинга
Уровень сложности

Препарируем электрохомяка

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.8K

Я всегда смотрел на все "крипто-темы" с неким высокомерием. Мол это для тех, кто хочет легких денег. А работать, или вернее, зарабатывать деньги, своими навыками не хочет.

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

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

Что же там такого интересного?

ОС «Аврора» — веб-сервер в кармане

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров14K

Привет, читатель!

В начале июня я опубликовал обзор смартфона с ОС «Аврора». После этого взялся изучать документацию к SDK, решил написать пару небольших приложений и портировать один проект на телефон. В процессе понял, что для выполнения команд, просмотра файлов и доставки пакетов требуется консоль. В какой-то момент стало любопытно покопаться и посмотреть, какие приложения есть в репозиториях «Авроры» и с чем из этого можно поиграться. Выбор оказался весьма широк, но самым интересным для меня был исполнитель интерпретируемого языка. Если вам интересно, какой код можно запустить со смартфона на «Авроре» и какие могут возникнуть нюансы, прошу под кат!
Читать дальше →

Акции, игры и роботы: будущее ритейла, которое уже наступило

Время на прочтение11 мин
Количество просмотров11K

Сегодня мы можем позволить себе веб-страницы, весящие больше, чем оригинальный DOOM, и объём вычислений для их рендера, которого хватило бы для взлома Энигмы. В век технологического изобилия уже не так ценишь байты и флопсы. Единственный по-настоящему ценный ресурс — это люди, и современные разработчики готовы биться за этот ресурс, как Джон Кармак бился за каждый такт процессора.

30 мая прошла конференция X5 Future Night, где более сорока спикеров рассказывали о передовых технологиях ритейла, помогающих привлечь и удержать покупателя, максимизировать его удовлетворение и свою выгоду. Запись всей конференции можно посмотреть на досуге, а в этой статье хотим подсветить несколько технологий, которыми X5 Tech особенно гордится.

Читать далее

Я победил замедление YouTube

Время на прочтение4 мин
Количество просмотров431K

Привет, Хабр! Ухудшение работы YouTube стало поистине трагическим событием, которое прибило почти все загрузчики видео, но я нашел легальный способ улучшить ситуацию! Как починить оборудование Google, не привлекая внимание санитаров.

Читать далее

Как модульное тестирование сокращает затраты программиста

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.3K

Привет, Хабр! Меня зовут Алексей, я занимаюсь разработкой приложений ПСБ для юридических лиц. В этой статье постараюсь опровергнуть мнение, что разработчики пренебрегают модульным тестированием из-за нехватки времени и нежелания выполнять монотонную работу. А также хочу показать, как данная практика снижает нагрузку на специалистов и сокращает трудозатраты.

Читать далее

Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+

Время на прочтение8 мин
Количество просмотров9.9K

Всем привет! Меня зовут Саша, я iOS-разработчик компании Ozon. Я занимаюсь разработкой и развитием мобильного приложения продавца. Сегодня хотел бы поделиться опытом нашей команды по кастомизации онбординга для вашего мобильного приложения.

Представьте, ваша команда несколько недель разрабатывает фичу, которая ну очень упростит жизнь пользователю. Вы уже готовы её выкатить, но возникают вопросы:

- Как представить новую фичу пользователю?

- Как сделать так, чтобы пользователь не пропустил добавленный функционал?

- Как повысить количество взаимодействий с новым функционалом?

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

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

Читать далее

Flutter. Стиль кода — это все

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров8.1K

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

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

Люди тоже диктуют стиль. Стиль был у Роберта Мартина, у Дэвида Томаса, у Мартина Фаулера, у Эрика Эванса... Я встречал стиль в открытом исходном коде. В среде разработчиков стильных проектов куда больше, чем в каком-либо другом сообществе. Стиль — это атрибут, подход и структура.

Выше – юмористическая интерпретация слов из поэмы Чарльза Буковски «Стиль». Вариативность стиля кода настолько многогранна, что не всегда удается прийти к единому мнению в пользу того или иного подхода, поэтому стиль в сегодняшнем понимании — это целая культура.

Сегодня мы будем разматывать клубок лучших практик и скрытых трюков. После этого ваш код станет не просто рабочим, а настоящим произведением искусства. С учетом моего опыта работы мобильным разработчиком в TAGES, я готов поделиться своими знаниями и практиками, которые могут быть полезны для вашего проекта. Пристегнитесь потуже — мы взлетаем!

Читать далее

Реверсинг приложений под Android. Ищем уязвимости

Время на прочтение4 мин
Количество просмотров1.9K

В этой мы продолжим изучать тему реверсинга приложений для Android. В предыдущих статьях мы рассмотрели основные инструменты, которые нам понадобятся и поговорили о том, как можно анализировать APK файлы на подозрительную активность. Сегодня мы посмотрим, как можно найти уязвимости в приложении для Android.

Читать далее

Скрытая (на виду) сила KeyPath'ов

Время на прочтение8 мин
Количество просмотров2.9K

Привет! Меня зовут Максим Черноусов, и я занимаюсь iOS-разработкой в Райфе. Я обожаю использовать и дизайнить классные API. А один из самых часто используемых строительных блоков для хороших API в Swift — это KeyPath'ы. Сегодня о них и поговорим.

Читать далее

Как подготовиться к удалению приложения из AppStore

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.5K

В этой статье расскажу как подготовиться к тому, что ваше приложение будет удалено из Appstore. Лучше приложить минимум усилий сейчас, чем спешно предпринимать действия потом. Предупрежден — значит вооружен. Сам я бы сэкономил кучу времени, если бы я наткнулся на такую статью, но, к сожалению, мне не попадалось что‑то вразумительное.

Читать далее

Как мы переходили с Xamarin на Flutter

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров5.4K

Всем привет! Меня зовут Виктор, я представляю одну из команд мобильной разработки компании DD Planet.

В этой статье расскажу о своем личном опыте и опыте нашей команды по переходу с кроссплатформенного фреймворка Xamarin Native на Flutter.

Читать далее

РКН по ошибке снес безобидное приложение в AppStore, на волне последних чисток

Время на прочтение3 мин
Количество просмотров8.6K

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

Читать далее

Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк

Время на прочтение10 мин
Количество просмотров7.9K


Привет, Хабр! Меня зовут Георгий, я руководитель команды Ozon Банк iOS. Я занимаюсь разработкой и развитием мобильного направления финансовых продуктов Ozon.

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

Часто разработчики используют только встроенный API взаимодействия JavaScript c нативными кодом, например Web API, но нам этого оказалось мало, и мы расширили спектр возможностей подхода web-native. Внутри статьи я расскажу, какой подход выбрал, как к этому пришёл и как обошёл возникшие проблемы. Подчеркну плюсы и минусы использования своего решения и в конце предложу несколько идей дальнейшего развития выбранного пути.

Читать далее

Ближайшие события

Как я взломал штрих-коды продавца билетов TicketMaster

Время на прочтение12 мин
Количество просмотров33K
Недавно я купил билеты на концерт на сайте TicketMaster. Если бы мне отправили обычный распечатываемый билет в PDF, который бы можно было сохранить офлайн на телефоне, то этой статьи никогда бы не было. Но ведь сейчас 2024 год: всё, что делается онлайн, перестало быть простым.

После завершения покупки TicketMaster сообщил мне, что я не смогу распечатать билеты на мероприятие. Сайт выпускает билеты при помощи системы Mobile Entry, он же SafeTix. Они имеют вид обновляемого штрих-кода, отображаемого в веб-приложении или приложении для Android/iOS TicketMaster.


»Скриншоты не позволят вам пройти», зато позволят инструменты разработчика Chrome

Возможно, я старею, но мне ещё помнятся времена, когда распечатываемые билеты использовались повсюду. Покупатель мог распечатать билеты после приобретения онлайн или даже в кассе (ничего себе!), и принести эти бумажные билеты ко входу на мероприятие. Их можно было сохранять как PDF и просматривать практически на любом устройстве. PDF-билетами можно пользоваться, даже когда у телефона нет подключения к Интернету. Бумажными билетами можно пользоваться, даже когда у тебя нет телефона. Если я покупал билет в официально продающей их компании (а не у подозрительного посредника), то точно знал, что он настоящий. Не было никакой опасности, что тебя с этим билетом не пустят. Можно было спокойно отправлять их друзьям по WhatsApp, iMessage, Signal, электронной почте или даже передавать распечатанные билеты из рук в руки.
Читать дальше →

Пишем виджет в Control Center (iOS 18)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.2K

На WWDC 2024 Apple представила — виджеты в Control Center для iOS 18. Это новшество позволяет разработчикам добавлять собственные виджеты в новое место в приложении: Control Center, Home Screen. Но можем ли мы делать кастомную вёрстку в новых виджетах? Или подтянуть данные из сети?

В этой статье разберёмся с новыми виджетами, ответим на вопросы выше. А в завершении статьи вы найдёте сниппеты кода, чтобы быстро добавить виджеты в свой проект.

Читать далее

Первый взгляд на переход с Xamarin Native на Flutter

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров5.8K

Привет! Меня зовут Егор, сейчас я работаю в компании DD Planet, а разработкой мобильных приложений я занимаюсь уже более двух лет. В этой статье хочу поделиться своим опытом перехода с Xamarin Native на Flutter. Постараюсь сравнить два фреймворка с точки зрения личного опыта, расскажу о своих старых заблуждениях касательно декларативных фреймворков, которые развенчал опыт работы с Flutter, а в конце статьи порассуждаю о своем идеальном мобильном фреймворке мечты.

Читать далее

Как преодолеть сложности прохождения ревью Google Play в условиях санкций

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров6.1K

Всем привет! Меня зовут Антон, я ведущий разработчик в одной из команд мобильной разработки в компании DD Planet. Мы под ключ создаем мобильные приложения для клиентов.

В этой статье поделюсь личным опытом и опытом нашей команды по прохождению ревью в магазин приложений Google Play на примере реального бизнес-кейса.

Читать далее

Адаптируем VoiceOver для людей

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.2K

Меня зовут Женя Тютюев, я iOS-разработчик в компании 2ГИС. Хочу поделиться, как адаптировал наше приложение под VoiceOver: 

— Делюсь историей про сдвиг парадигмы и как перешёл из стадии «делать, потому что Эпл советует» в совершенно новую — «делать для людей». 

— Как разработал новый вид snapshot-тестирования, чтобы ничего не ломалось при добавлении новых неадаптированных элементов. 

— И описал несколько нюансов, которые важно учесть в работе: escape, динамический расчёт доступности, укрупнение элементов.

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

Читать далее

Макросы в swift — напишут код за вас, но есть нюанс…

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров12K

Привет! Меня зовут Настя Ищенко, я — iOS-разработчик в KTS.

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

Читать далее

Подключаем GigaCode к мобильной разработке

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров13K


Всем привет! С вами Анна Жаркова, руководитель группы разработки в компании Usetech. Сегодня я вам принесла необычный материал. 27 июня 2024 года для сторонних разработчиков открыли и презентовали российскую среду разработки Giga IDE со встроенным ИИ-ассистентом от «Сбера» и «СберТеха». Заявлено, что встроенный в среду ИИ-ассистент GigaCode анализирует контекст, предлагает полные конструкции функций, циклов и других элементов, что позволяет писать код в среднем на 25% быстрее. Ассистент поддерживает как автокомплит кода, так и интеллектуальные подсказки для ввода, генерацию кода для поддерживаемых язык. Также его можно использовать для выполнения разных команд.

Мы посмотрим, как подключить, настроить и применить GigaCode AI к мобильной разработке.
Для начала нам потребуется скачать специальную IDE GigaCode . Нам предложит перейти на ресурс GitVerse (аналоги GitHub, полностью совместим с Git), где потребуется создать аккаунт и авторизоваться через СберID:


Читать дальше →

Вклад авторов