Рубрика «кроссплатформенность»

C++Builder реально классная штука: кидаешь форму мышкой, накидываешь кнопок, дважды кликаешь и пишешь обработчик.

Но однажды я задал себе простой вопрос. Эта про технологию или про продукт?

И решил проверить. Так появился OpenRTL, свободная реализация ядра RTL/VCL-парадигмы на стандартном C++17. Без проприетарных компиляторов, без закрытых библиотек, без лицензий.

То, на что у Embarcadero ушли десятилетия, воспроизводится примерно за 1500 строк, если понимаешь парадигму. Не потому что я гений. А потому что всех убедили, что это сложно. На самом деле не сложно. Просто никто не брался.

Почему это вообще важно

Читать полностью »

Здравствуйте!

Меня зовут Андрей Дедюхин, и в этой статье я хотел бы рассказать о своей собственной разработке — графическом фреймворке “Арго”. По специальности я бэкенд-разработчик ПО, но в моей карьере были и другие ниши, связанные с разработкой и управлением проектами, и я обладаю широким кругозором в разных областях разработки ПО.

Читать полностью »

Всё началось с того, что я захотел добавить поддержку сети в свой очередной новоиспечённый игровой движок №42. Вот есть такая мания: писать игровой движок, не сделать ни одной игры, но начать делать новый, потому что понял, что архитектура тебе не нравится.

А в новом движке нужно обязательно сделать сеть, а чтобы вообще круто было - нужно сделать её сделать на основе корутин из C++ 20.

Читать полностью »

Когда мы только начинали разработку мобильного приложения, выбор пал на React Native — казалось, это идеальный компромисс между скоростью разработки и кроссплатформенностью. Однако, со временем мы столкнулись с рядом проблем: низкая производительность на слабых Android-устройствах, сложность поддержки MapKit SDK, нестабильная работа некоторых библиотек и отсутствие нормальных dev-tools.

Основной фишкой приложения была интерактивная карта: отображался маршрут движения для водителя и более 10 000 объектов на экране одновременно. Для этого использовалась виртуализация, а в некоторых сценариях - еще и Читать полностью »

Этот документ — не просто список, а выжимка боли, шишек и неожиданных открытий, с которыми сталкивается почти каждый фронтендер. Неважно, Vue ты выбрал или React, если твое приложение должно работать в браузере на айфоне пятилетней давности — добро пожаловать в клуб. Здесь будет всё: от странностей с Safari до неожиданных проблем с синтетическими событиями.

Нюансы мобильных браузеров и PWA

iOS Safari не поддерживает Notification API без установки PWA

Проблема: На iOS ты не можешь просто вызвать new Notification(...)Читать полностью »

На дворе 2025 год, а я всё ещё продолжаю делать видеоигры. Если верить archive.org, я начал заниматься этим двадцать лет назад! Достаточно долгий срок для одного увлечения...

Screenshot of my website circa 2011

Скриншот моего веб-сайта примерно за 2011 год

Читать полностью »

Один бинарник, любое окружение. Магия чистого C - 1

Как мы представляем себе кроссплатформенность? Мы пишем программу на языке, который либо компилируется в исполняемый файл отдельно для каждой поддерживаемой платформы, либо использует разновидность виртуальной машины вместо бинарника (и тогда эта среда должна присутствовать в целевых системах). Есть также и низкоуровневые языки, на которых писать серьёзные программы менее удобно, чем на высокоуровневых монстрах со своими компиляторами или рантаймами, но зато такие программы менее требовательны к предустановленному софту или наличию ОС в принципе, как и менее разборчивы в архитектуре. И всё же, есть возможность писать один и тот же код и собирать один и тот же бинарь под все популярные архитектуры и ОС (и даже bare metal), и эта возможность появилась благодаря гениальной Justine Tunney. Она написала Cosmopolitan, библиотеку на C, позволяющую исполнять один и тот же код на любой машине, подобно Java… но без какого-либо предустановленного интерпретатора или виртуальной машины! Один и тот же скомпилированный файл может исполняться как минимум в любом дистрибутиве Linux, на Mac OS, Windows NT, FreeBSD, OpenBSD, и NetBSD и на bare-metal на x86 и ARM*. Это настоящая магия.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js