Hacker News Digest

Тег: #cross-platform

Постов: 8

Keyboard differences between Windows and Macs (unsung.aresluna.org) 🔥 Горячее 💬 Длинная дискуссия

На Mac и Windows клавиши имеют разные названия и функции, что важно учитывать в кроссплатформенных веб-приложениях. На Windows клавиша Backspace удаляет символ слева, а Delete — справа; на Mac это наоборот: Delete работает как Backspace, а Forward Delete (Fn+Delete) — как Delete на Windows. Клавиша Enter на Windows соответствует Return на Mac, хотя на полноразмерных клавиатурах Mac есть отдельная клавиша Enter (⌤), обычно на цифровой панели, которую можно эмулировать Fn+Return. В большинстве приложений Enter и Return на Mac ведут себя одинаково, но есть исключения, например в Photoshop, где Return добавляет перенос строки, а Enter подтверждает ввод.

Модификаторные клавиши также различаются: на Windows основные — Ctrl, Alt, Shift; на Mac — ⌘ Command (аналог Ctrl в Windows для команд вроде копирования/вставки), ⌥ Option (аналог Alt), ⌃ Control (используется реже, часто как дополнительный модификатор) и ⇧ Shift. Mac использует больше символов на клавишах (например, ⌘, ⌥, ⌃), тогда как Windows полагается на текстовые подписи. На Mac отсутствуют клавиши Insert, Print Screen, Scroll Lock и Pause/Break, присутствующие на Windows-клавиатурах, но есть Help, ≣ Contextual Menu (аналог правой кнопки мыши) и ⌧ Clear (редко используемая функция, похожая на Backspace). Некоторые старые клавиатуры Apple даже содержали PC-легенды (Insert, Num Lock и т.д.) для совместимости. Стрелки на современных Mac-клавиатурах переопределены: ↑ и ↓ используются для Page Up/Down, а ⤒ и ⤓ — для Home/End, что может вызывать путаницу. Эти различия критичны для разработчиков, стремящихся к единому поведению интерфейса на обеих платформах.

by sohkamyung • 09 октября 2026 г. в 03:08 • 253 points

Оригинал • HN

#cross-platform#keyboard#mac#photoshop#windows

Комментарии (203)

Различия в клавишах между Mac и Windows влияют на продуктивность и комфорт, особенно при переключении между платформами, вызывая реальные боли при настройке и адаптации. Пользователи, переключающиеся между Mac и Windows, рекомендуют использовать Karabiner-Elements для переопределения клавиш Mac под Windows-раскладку, чтобы снизить когнитивную нагрузку. Для пользователей, живущих в двух мирах, лучше полностью принять Mac-логику, а не пытаться её подменить — иначе возникает «утечка абстракции» и постоянная путаница при чтении сочетаний клавиш в меню. Разница в поведении клавиш Delete/Backspace обусловлена моделью курсора: в DOS/Windows курсор находится на символе, в Mac — между символами, что определило эргономику удаления. Пользователи с опытом работы в 70–90-х отмечают, что нестандартность интерфейсов была нормой, и современные разногласия между платформами — продолжение исторической фрагментации. Спор: некоторые считают, что Mac правильно использует Return для перевода строки и Enter для отправки данных, другие утверждают, что термин «Enter» на Windows — устаревшая маркировка, а функционально клавиши идентичны. Пользователи с раскладками, требующими диакритических знаков (польская, болгарская, португальская), сталкиваются с критическими проблемами из-за различий в позициях символов и вынуждены переключать раскладку на PC-совместимую. Клавиши Ctrl+C/V/X на Windows неудобны из-за расположения Ctrl у мизинца, тогда как Cmd на Mac позволяет использовать большой палец — что делает их более эргономичными для частого использования. Пользователи, перешедшие с Mac на Linux, отмечают, что readline-поведение (Ctrl+A/E, Ctrl+K/U и т.д.) в текстовых полях — стандарт, который Linux должен включать по умолчанию во всех средах. Различия в позициях скобок [ ] и символов вроде ` на клавиатурах Mac и Windows вызывают постоянные ошибки у пользователей, даже после длительного опыта, и требуют переобучения моторной памяти. Спор: некоторые считают, что Mac-раскладка с Fn/Globe слева — ошибка, и требуют возврата Ctrl на это место; другие утверждают, что это логично для ноутбуков с тачбаром и улучшает доступ к функциям. Пользователи с Linux-десктопом на Mac-аппаратном обеспечении жалуются на отсутствие полноценной поддержки и призывают разработчиков GNOME и Asahi реализовать режим совместимости с Mac-вводом. Сочетания клавиш в Emacs и Unix-оболочках (Ctrl+A, Ctrl+E, Ctrl+K) стали стандартом в Mac и Linux, но Windows их игнорирует, создавая разрыв в ожиданиях пользователей, привыкших к Unix-средам. Пользователи, использующие Sublime Text, отмечают, что поведение клавиш на Mac не совпадает с Windows-версией, что делает невозможным переключение между платформами без потери продуктивности — привело к отказу от Mac. Клавиша Command на Mac воспринимается как более логичный модификатор для команд, чем Ctrl, потому что он не конфликтует с системными сочетаниями вроде Ctrl+Alt+Del и не требует напряжения мизинца. Пользователи с немецкой раскладкой отмечают, что стандарт DIN 2137-01:2023-08 (E1) в Windows 11 и Debian позволяет вводить все европейские символы и рекомендуют его как решение для кроссплатформенной совместимости.

Show HN: Capsule – Single-file web apps that save their data into SQLite (withcapsule.app)

Capsule — это инструмент, который упаковывает полноценное приложение — интерфейс, данные и логику — в один портативный файл с расширением .capsule. Он работает полностью офлайн, без облака, регистрации или подписок: всё хранится локально внутри файла, включая пользовательский интерфейс на HTML/CSS и локальную базу данных SQLite. Такой файл можно отправить как обычный документ — через WhatsApp, AirDrop или email — и при открытии на другом устройстве он мгновенно запускается с уже загруженными данными, готовый к использованию.

Формат основан на открытых веб-технологиях, что исключает привязку к конкретным вендорам и обеспечивает кроссплатформенность: один и тот же .capsule файл запускается на macOS, Windows и Linux без конвертации. Поддержка iOS и Android планируется в ближайшее время. Capsule позиционируется как бесплатное решение для создания личных инструментов — трекеров, портфолио, заметок — с полным контролем над данными и нулевой зависимостью от сети или серверов. Для работы достаточно установить хост-плеер под свою ОС, после чего любые .capsule файлы становятся исполняемыми приложениями в один клик.

by bashtian • 15 сентября 2026 г. в 13:31 • 242 points

Оригинал • HN

#capsule#cross-platform#css#html#offline#sqlite#withcapsule.app

Комментарии (110)

Концепция Capsule решает проблему распространения интерактивных приложений с локальным состоянием без сервера, что актуально для малых групп и AI-генерации в условиях стремления к автономности и контролю над данными. Формат, объединяющий UI, логику и данные (SQLite) в одном файле, позволяет создавать «умные документы» по аналогии с Jupyter Notebook, MS Access или Lotus Notes. Подобные идеи уже реализованы в проектах uapp, Decker и sqlar. Однако решение вызывает критику: 1. **Дистрибуция и доступность**: необходимость установки проприетарного клиента усложняет запуск по сравнению с полноценными приложениями или использованием File System Access API в браузерах. Для массового принятия требуется нативная поддержка браузерами. 2. **Синхронизация и совместная работа**: отсутствие механизмов слияния изменений при редактировании разных копий файла ведет к конфликтам и потере данных. Ручная пересылка файлов менее эффективна, чем веб-хостинг. 3. **Безопасность и надежность**: закрытый формат и клиент вызывают недоверие. Для аудита необходим просмотр исходного HTML/JS и схемы SQLite перед запуском, чтобы исключить вредоносный код. Также SQLite в одном файле уязвим к повреждениям при некорректном завершении работы, что не надежнее IndexedDB. Из-за проблем с управлением, безопасностью и отсутствием прозрачности концепция плохо масштабируется на корпоративные среды.

Red Alert 2 in web browser (chronodivide.com) 🔥 Горячее

Chrono Divide — фанатский проект, воссоздающий классическую RTS Red Alert 2 прямо в веб-браузере без необходимости установки плагинов. Изначально начинавшийся как эксперимент для доказания возможности полнофункциональной кроссплатформенной стратегии в браузере, проект теперь предлагает доступную бета-версию с полностью рабочим мультиплеером, всеми оригинальными картами и современным игровым клиентом.

Игра поддерживает кроссплатформенность (включая мобильные устройства и планшеты), использует клиент-серверную модель, избавляя от необходимости проброса портов, и предлагает выбор между классическими и современными настройками управления. Для комфортной игры требуется минимум Atom Z3700+ @1.33GHz с 4GB ОЗУ, хотя рекомендуется Core i5 с 8GB памяти и GTX800 или новее. Проект развивается исключительно на пожертвования игроков и стремится достичь полного функционального паритета с оригинальным движком Red Alert 2.

by nsoonhui • 20 ноября 2025 г. в 12:21 • 401 points

Оригинал • HN

#client-server#cross-platform#openra#red-alert-2#rts#web-browser#yuris-revenge

Комментарии (131)

  • Chrono Divide удалось воссоздать Red Alert 2 без доступа к исходному коду, что считается значительным техническим достижением.
  • Многие участники отмечают ностальгию по 2D-эстетике классических RTS, считая их визуально более выразительными, чем современные 3D-аналоги.
  • Альтернативные варианты игры включают OpenRA (требует загрузки ассетов) и C&CNet (бесплатный мультиплеер для RA2/YR).
  • Браузерная версия Chrono Divide предоставляет ассеты через archive.org, но пока не поддерживает дополнение Yuri's Revenge.
  • Обсуждаются причины упадка жанра RTS: фокус на мультиплеерный баланс, сложность разработки и переход на 3D.

Valdi – A cross-platform UI framework that delivers native performance (github.com) 🔥 Горячее 💬 Длинная дискуссия

Snapchat представил Valdi — кроссплатформенный UI-фреймворк, который обеспечивает нативную производительность без потери скорости разработки. Решение ориентировано на создание высокопроизводительных интерфейсов для мобильных и десктопных приложений, используя единый кодовый баз.

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

by yehiaabdelm • 08 ноября 2025 г. в 00:14 • 491 points

Оригинал • HN

#cross-platform#desktop#kotlin-multiplatform#mobile#native-performance#react-native#snapchat#ui-framework#valdi#webview

Комментарии (199)

  • Разочарование в существующих кроссплатформенных решениях (React Native, WebView) и надежды на Valdi как альтернативу с нативной производительностью.
  • Критика Valdi: сложность, отсутствие поддержки Linux/Windows, сомнения в качестве кода Snapchat и его Android-приложения.
  • Альтернативные подходы: нативная разработка, Kotlin Multiplatform, PWA, а также сомнения в необходимости кроссплатформенности при наличии AI.
  • Технические вопросы: отсутствие поддержки Swift, сложность нативной интеграции, сравнение с другими фреймворками (Boden, Lynx.js).
  • Философский спор: стоит ли жертвовать нативным UX ради кроссплатформенности или писать UI отдельно для каждой платформы.

Rust cross-platform GPUI components (github.com) 🔥 Горячее 💬 Длинная дискуссия

Библиотека Rust GUI компонентов для создания кроссплатформенных десктопных приложений с использованием фреймворка GPUI. Проект предлагает готовые интерфейсные элементы, упрощающие разработку визуальных приложений на Rust. Компоненты обеспечивают единый пользовательский опыт на разных платформах, включая Windows, macOS и Linux.

Библиотека является частью экосистемы GPUI, который позиционируется как современный подход к созданию GUI на Rust с акцентом на производительность и гибкость. Разработчики могут использовать готовые компоненты или создавать собственные, наследуя базовые функциональности. Проект активно поддерживается сообществом и постоянно пополняется новыми элементами интерфейса.

by xvilka • 27 октября 2025 г. в 09:44 • 466 points

Оригинал • HN

#cross-platform#github#gpui#gui#rust

Комментарии (201)

  • Сообщество обсуждает, что "native" может означать как отсутствие web-технологий, так и просто нативный виджет ввода текста, и это влияет на выбор инструментов.
  • Участники отмечают, что многие open-source проекты спонсируются криптокомпаниями, что вызывает смешанные чувства, но при этом признаётся вклад этих компаний в OSS.
  • Обсуждается нехватка готовых компонентов в экосистеме Rust, несмотря на обилие GUI-фреймворков, и сравнивается с другими языками, где такие коллекции есть.
  • Поднимается вопрос о размере бинарника (около 10 МБ), который вызывает у людей вопросы о встроенных данных ICU и прочих ресурсах.
  • Участники делятся мнением, что хотя фреймворки быстро развиваются, но они всё ещё не покрывают все потребности, и это тормозит более широкое принятие.

The Swift SDK for Android (swift.org) 🔥 Горячее 💬 Длинная дискуссия

Swift.org анонсировали выпуск Swift SDK для Android, открывая новые возможности для кроссплатформенной разработки. Этот релиз стал результатом многолетних усилий сообщества и работы Android workgroup, которая расширяет возможности Swift за пределы традиционных платформ. SDK доступен в виде nightly preview релизов и может быть получен вместе с установщиком Windows или скачан отдельно для Linux и macOS.

Уже опубликовано руководство по началу работы и примеры приложений, демонстрирующие end-to-end рабочие процессы. Проект swift-java обеспечивает взаимодействие между Java и Swift, автоматически генерируя безопасные и производительные привязки. Интересно, что более 25% пакетов в Swift Package Index уже поддерживают Android, что упрощает перенос существующих проектов на новую платформу. Команда также работает над документом видения для будущих разработок Swift на Android и отслеживает прогресс через проект board.

by gok • 24 октября 2025 г. в 20:06 • 655 points

Оригинал • HN

#android#cross-platform#java#swift#swift-package-index#xcode

Комментарии (252)

  • Обсуждение в основном вращается вокруг трёх тем: «кроссплатформенный» Swift теперь позволяет писать Android-приложения на Swift, но не решает проблему UI-фреймворков, а также не затрагивает вопросы лицензирования и тулинга.
  • Участники обсуждения отмечают, что даже если Swift теперь работает на Android, это не делает его «флаттером» — он не предоставляет нативный UI, и разработчики всё ещё должны решать, как реализовать UI, что делает его менее привлекательным, чем Flutter или React Native.
  • Некоторые участники высказывают мнение, что вместо того, чтобы пытаться сделать Swift кроссплатформенным, было бы лучше, если бы Apple открыла Xcode и позволила бы использовать его на других платформах.
  • Обсуждение также затрагивает вопрос о том, что влияние на разработчиков окажет то, что Apple не предоставляет никаких инструментов для разработки под Android, в то время как Google предоставляет такие инструменты для iOS.
  • Участники также обсуждают, что влияние на разработчиков окажет то, что Apple не предоставляет никаких инструментов для разработки под Android, в то время как Google предоставляет такие инструменты для iOS.

CDC File Transfer (github.com) 🔥 Горячее

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

Инструменты включают утилиты командной строки и API, что делает их гибкими для интеграции в автоматизированные процессы или скрипты. Это особенно полезно для DevOps-инженеров и системных администраторов, работающих с кросс-платформенными развертываниями. Проект открыт под лицензией Apache 2.0, что способствует его адаптации и улучшению сообществом.

by GalaxySnail • 01 октября 2025 г. в 02:38 • 354 points

Оригинал • HN

#apache-2.0#bazel#borg-backup#cdc#cross-platform#devops#file-transfer#hybrid-environments#ibm-aspera#rsync

Комментарии (94)

  • Обсуждение алгоритма CDC (Content Defined Chunking) и его преимуществ перед rsync, включая скорость до 30 раз выше и эффективную обработку вставок и удалений в файлах.
  • Вопросы о совместимости и внедрении: поддержка только Windows-to-Linux, отсутствие Linux-to-Linux, сложности сборки с Bazel и предложения интегрировать улучшения в стандартный rsync.
  • Сравнение с другими инструментами и технологиями: IBM Aspera, Steam, borg backup, git, а также упоминания о монодиальном хешировании и методе lookahead для улучшения FastCDC.
  • Сожаления о закрытии Stadia и обсуждение невозможности её самохоста из-за DRM и кастомного железа, а также альтернатив для стриминга игр (Moonlight/Sunshine).
  • Критика выбора названия "CDC" из-за его неоднозначности (путаница с USB CDC и Control Data Corporation).

Electron-based apps cause system-wide lag on macOS 26 Tahoe (github.com) 💬 Длинная дискуссия

Приложения на Electron вызывают серьёзные задержки в работе всей системы на macOS 26. Пользователи сообщают о замедлении интерфейса, лагах при вводе текста и проблемах с отзывчивостью даже при минимальной нагрузке. Это связано с тем, что фреймворк использует общие ресурсы системы неэффективно, особенно в многозадачных сценариях.

Проблема проявляется при одновременной работе нескольких Electron-приложений, таких как Slack, Discord или VS Code. Система начинает проседать по производительности, что негативно сказывается на пользовательском опыте. Разработчики Electron признают проблему и изучают её, но пока не предложили конкретного решения.

by STRML • 25 сентября 2025 г. в 18:36 • 225 points

Оригинал • HN

#api#apple#chromium#cross-platform#discord#electron#macos#performance#slack#vscode

Комментарии (153)

  • Проблема с производительностью в macOS 26 вызвана использованием приложениями (включая Electron) приватных API Apple, что приводит к утечкам ресурсов и лагам.
  • Некоторые пользователи не сталкиваются с проблемами, возможно, из-за высокой производительности железа (например, чипов M4), которое маскирует недочеты.
  • Обсуждается, кто виноват: разработчики приложений за использование приватных методов или Apple за отсутствие регрессионного тестирования и обратной совместимости.
  • Для части приложений (Chrome/Chromium) уже выпущен фикс, а также известны временные решения через терминал.
  • Спектр мнений варьируется от критики Electron до защиты его как кросс-платформенного решения с хорошим DX.