Hacker News Digest

Тег: #gui

Постов: 5

The lazy Git UI you didn't know you need (bwplotka.dev) 🔥 Горячее 💬 Длинная дискуссия

Автор случайно обнаружил lazygit во время экспериментов с neovim и настолько впечатлился, что полностью перешёл на него для всех git-работ. Инструмент сочетает простоту и скорость CLI с интерактивностью и наглядностью GUI, что особенно ценно для тех, кто плохо запоминает команды. По данным опроса StackOverflow 2022 года, 83% разработчиков предпочитают CLI для работы с git, но lazygit предлагает компромисс, сохраняя мощь командной строки while делая операции более доступными.

Lazygit выделяется тремя ключевыми особенностями: последовательность интерфейса, удобство навигации и интерактивность. Автор подчёркивает, что несмотря на преимущества GUI, новичкам всё равно следует изучать git CLI, так как он обеспечивает максимальный контроль и необходим для работы в средах без графического интерфейса. Инструмент идеально подходит для разработчиков, ищущих баланс между мощью командной строки и удобством визуального интерфейса.

by linhns • 10 ноября 2025 г. в 17:50 • 388 points

ОригиналHN

#git#cli#tui#gui#lazygit#tig#jj#gitui#gitin#fork

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

  • Разные инструменты подходят под разные задачи: от легковесных консольных утилит вроде tig до полноценных GUI вроде SourceTree или GitKraken.
  • Некоторые участники отдают предпочтение TUI-решениям вроде lazygit, другие — полноценным GUI, а кто-то вовсе предпочитает консоль.
  • Несколько человек упомянули, что используют jj (Jujutsu) вместо Git, и что это может быть более удобным для новичков.
  • Некоторые участники поделились ссылками на инструменты, которые могут быть полезны для решения конкретных задач, таких как git-absorb для автоматического разбиения коммитов и tig для просмотра истории.
  • Были упомянуты такие инструменты, как lazygit, tig, gitui, gitin, lazygit, fork, lazygit и gitui, каждый из которых имеет свои сильные стороны и может быть полезен в различных ситуациях.

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

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

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

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

Tcl-Lang Showcase (wiki.tcl-lang.org)

На вики-сайте Tcl/Tk представлена галерея из более чем 100 интерактивных демонстраций приложений, созданных с использованием этого языка программирования и инструментария для графического интерфейса. Доступ к ним осуществляется через CloudTk — платформу для запуска Tcl/Tk онлайн.

Среди примеров — графические инструменты вроде SpiroGraph, игровые проекты типа TriPeaks Solitaire и 1010!, а также утилиты вроде симулятора калькулятора HP-15. Каждое приложение сопровождается скриншотом и ссылкой на соответствующую страницу вики с подробным описанием.

by luismedel • 07 октября 2025 г. в 13:25 • 109 points

ОригиналHN

#tcl#tk#cloudtk#gui#simcity#opensees

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

  • Tcl/Tk ценится за простоту создания GUI и интеграцию с C, использовался в научных проектах, тестовой автоматизации и даже для портирования SimCity.
  • Язык повлиял на понимание фундаментальных принципов программирования из-за своего уникального подхода к строкам и стеку, отличающегося от распространённых языков.
  • Несмотря на критику, Tcl остаётся востребованным в нишевых областях (например, в инженерии с OpenSees) и продолжает активно развиваться.
  • Обсуждаются технические проблемы, такие как неработающая демонстрация в CloudTk, и идеи, например, создание редактора на Tcl или компиляция wish в WebAssembly.
  • Уточняются терминологические нюансы (flak vs flack, rebut vs rebuttal) в ходе дискуссии.

Learn x86-64 assembly by writing a GUI from scratch (2023) (gaultier.github.io)

Изучение x86-64 ассемблера через создание GUI с нуля

Филипп Гольтье

⏴ Назад ко всем статьям

Опубликовано 31.05.2023

Большинство считает ассемблер языком для учебных программ или оптимизации отдельных функций. Но что если написать на нём полноценную GUI-программу? Это будет «Hello World» для графического интерфейса, но всё же. Результат:

Меня вдохновила мысль: современные бинарные файлы часто весят 30+ МБ — а насколько маленьким может быть GUI? Оказалось, всего около 1 КБ!

Я не эксперт в ассемблере или X11, но надеюсь дать понятное руководство для начинающих. Ошибки? Сообщайте в Github.

Примечание: Аутентификация в X11 опциональна, но некоторые серверы (например XWayland) требуют её. Здесь она опущена.

Что потребуется?

Используем ассемблер nasm — простой, кроссплатформенный и быстрый. Для GUI возьмём X11, так как он работает без внешних библиотек. На Wayland должно работать через XWayland, на macOS — с XQuartz (но потребуется формат macho64 и иные значения системных вызовов).

Разница между ОС сводится к значениям системных вызовов. Для Linux укажем свои, для FreeBSD — другие, используя макросы nasm:

%ifdef linux
  %define SYSCALL_EXIT 60
%elifdef freebsd
  %define SYSCALL_EXIT 1
%endif

Компилируем на Linux, отправляем другу на FreeBSD — и оно работает!

Linux — единственная ОС со стабильным ABI. Другие могут его ломать, но для базовых вызовов это редкость.

Основы X11

X11 — это сервер, управляющий окнами и отрисовкой. Клиент подключается через сокет, отправляет команды на открытие окон, рисование и т.д., а сервер присылает события и ошибки.

Обычно используют libX11 или libxcb, но мы сделаем всё сами. Сервер может быть хоть на другом конце света — это не важно для клиента.

by ibobev • 12 сентября 2025 г. в 12:51 • 222 points

ОригиналHN

#x86-64#assembly#x11#nasm#linux#freebsd#gui

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

  • Обсуждение началось с проекта по изучению ассемблера x86-64 через написание GUI "с нуля", но многие отметили, что использование X-сервера не является истинным "с нуля".
  • Несколько пользователей поделились личным опытом изучения ассемблера через различные проекты: написание приложения на GTK, работу с микроконтроллерами PIC и создание собственного виртуального процессора.
  • Было высказано мнение, что работа с "сырым" X-протоколом не сложна, но утомительна из-за его асинхронной природы и необходимости сериализации/десериализации запросов.
  • Участники дискутировали о том, что на самом деле означает термин "с нуля" (from scratch), от сравнительно простого использования API до создания всей системы самостоятельно.
  • В качестве сравнения был приведен пример с Win32, где создание GUI заключается в основном в заполнении структур и вызове функций.
  • Было отмечено, что проект, несмотря на спорное определение "с нуля", является более сложным и продвинутым, чем многие аналогичные попытки.
  • Один из комментаторов указал на проблему с поддержкой высокого разрешения в XQuartz для пользователей macOS.

Red: A programming language inspired by REBOL (github.com)

Red — язык нового поколения, вдохновлённый Rebol. Компилирует в нативный код, охватывает от системного программирования до высокоуровневых скриптов и кроссплатформенных GUI. Поддерживает современные примитивы параллелизма, не требует установки и настройки: всё умещается в один файл ≈ 1 МБ.

by Levitating • 31 августа 2025 г. в 03:14 • 78 points

ОригиналHN

#red#rebol#programming-languages#cross-platform#gui#blockchain#github

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

  • Проект Red вызывает ностальгию, но разработка фактически стоит: 32-битные бинарники, проблемы на macOS, отсутствие 64-битной версии.
  • Пользователи ищут «простой кроссплатформенный язык + GUI» и обсуждают альтернативы: LiveCode, Tcl/Tk, Dart/Flutter, Iced (Rust), Nushell.
  • Сообщество жалуется на «срыв» после ухода в блокчейн/ICO и низкий bus-factor.
  • Некоторые считают REBOL/Red «функционально-императивным» и homoiconic, но интерес к языку снизился из-за барьеров запуска.