Глава 12. Графические интерфейсы для Ruby
Глава 12. Графические интерфейсы для Ruby
Нет ничего хуже четкого образа нечеткой идеи.
Апсель Адамс
Нет смысла отрицать, что мы живем в век графических интерфейсов (ГИ). В обозримом будущем тот или иной вид графического интерфейса станет основным способом взаимодействия с компьютерами.
Я не думаю, что командная строка не переживет следующее десятилетие — у нее есть свое место в мире. Но даже закоренелые хакеры прежних лет (предпочитающие команду cp -R перетаскиванию файлов мышкой) все-таки не прочь воспользоваться ГИ, когда это оправданно.
Однако у графического программирования есть свои сложности. Главная проблема, конечно, состоит в том, чтобы определить, как должен выглядеть удобный интерфейс к программе; при проектировании интерфейсов картинка не всегда заменяет тысячу слов. В этой книге мы не можем уделить внимание данному аспекту, все-таки наша тема — не эргономика, не эстетика и не психология.
Вторая очевидная проблема в том, что графическое программирование сложнее. Надо учитывать форму, размер, положение и поведение всех находящихся на экране элементов управления, которыми можно манипулировать с помощью мыши и клавиатуры.
Третья трудность заключается в следующем: на различных платформах представления о том, что такое оконная система и как она должна быть реализована, существенно разнятся. Чтобы в полной мере оценить это расхождение, нужно иметь опыт работы в разных системах. Многие программисты пытались создать кросс-платформенные инструменты и обнаружили, что именно с нестыковкой графических интерфейсов справиться труднее всего.
Эта глава не поможет вам в разрешении вышеназванных проблем. Максимум, что я могу сделать, — предложить очень краткое введение в несколько популярных графических систем (в той мере, в какой они относятся к Ruby), а также несколько советов и наблюдений.
Большая часть главы посвящена библиотекам Tk, GTK+, FOX и Qt. Велики шансы на то, что у вас возникнет вопрос: «А почему здесь нет (подставьте имя своей любимой библиотеки)?»
Причин несколько. Прежде всего это ограниченность места: все же книга посвящена не только графическим интерфейсам. Другая причина заключается в том, что для вашей системы могут быть еще не написаны привязки к Ruby (и в таком случае мы призываем вас этим заняться). И наконец, не все графические интерфейсы «равны». Мы попытались рассказать о самых важных и зрелых, а остальные только упомянули.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Графические интерфейсы и другие сложности
Графические интерфейсы и другие сложности Графический интерфейс трудно определить заранее. Теоретически это возможно, но редко удается сделать хорошо. Дело в том, что эстетика – предмет субъективный, а следовательно, переменчивый. Разработчики любят повозиться со
Глава 34 X Window и другие графические оболочки
Глава 34 X Window и другие графические оболочки Операционная система Linux давно уже немыслима без графической оболочки X Window, по крайней мере, на рабочих местах пользователей, поэтому необходимо иметь хотя бы общее представление о ее конфигурировании. В принципе, в большинстве
Глава 2. Интерфейсы
Глава 2. Интерфейсы void *pv = malloc(sizeof(int)); int *pi = (int*)pv; (*pi)++; free(pv); Аноним,1982 В предыдущей главе было показано несколько приемов программирования на C++, позволяющих разрабатывать двоичные компоненты повторного использования, которые со временем могут быть модернизированы. По
Глава 1. Обзор Ruby
Глава 1. Обзор Ruby Язык формирует способ нашего мышления и определяет то, о чем мы можем размышлять. Бенджамин Ди Уорф Стоит напомнить, что в новом языке программирования иногда видят панацею, особенно его адепты. Но ни один язык не сможет заменить все остальные. Не
Глава 4. Интернационализация в Ruby
Глава 4. Интернационализация в Ruby Посему дано ему имя: Вавилон, ибо там смешал Господь язык всей земли, и оттуда рассеял их Господь по всей земле. Бытие, 11:9 Мы уже говорили, что тип символа, наверное, самый важный из всех. Но что такое символьные данные? Какие символы? Из
Глава 11. ООП и динамические механизмы в Ruby
Глава 11. ООП и динамические механизмы в Ruby Как введение иррациональных чисел… стало удобным мифом упростившим законы арифметики… так физические объекты и постулированные сущности делают наше восприятие реальности более простым и завершенным… Концептуальная схема
Глава 13. Потоки в Ruby
Глава 13. Потоки в Ruby Он тянет нить своего красноречия искуснее, чем развивает свои доводы. Шекспир, «Бесплодные усилия любви», акт V, сцена 1[15] Потоки еще иногда называют облегченными процессами. Это просто способ обеспечить параллельное выполнение без накладных расходов,
Глава 15. Ruby и форматы данных
Глава 15. Ruby и форматы данных — Ваша информация, сэр, — говорит Библиотекарь. — Сможешь увязать эту информацию с утилитой «ВЫ ЗДЕСЬ»? — говорит Хиро. — Я посмотрю, что можно сделать, сэр. Форматы представляются совместимыми. Нил Стивенсон, «Лавина» В этой главе мы
Глава 19. Ruby и Web-приложения
Глава 19. Ruby и Web-приложения Как ловко мы сплетаем сеть… Сэр Вальтер Скотт, «Мармион» Ruby — универсальный язык, его ни в коей мере нельзя считать исключительно «языком Web». Но, несмотря на это, одно из наиболее типичных его применений — создание приложений (да и вообще
Глава 20. Распределенный Ruby
Глава 20. Распределенный Ruby Меньше — это больше. Робер Браунинг, «Андреа дель Сарто» В настоящее время имеется немало технологий, поддерживающих распределенную обработку: различные варианты RPC, а также COM, CORBA, DCE и Java RMI.Одни проще, другие сложнее, но в принципе все делают
Глава 21. Инструменты разработки для Ruby
Глава 21. Инструменты разработки для Ruby Человек — это животное, создающее инструменты. Бенджамин Франклин Среда разработки включает не только интерпретатор. У каждого хорошего разработчика под рукой всегда есть целый набор средств, облегчающих жизнь. Некоторые из них
Глава 22. Сообщество пользователей Ruby
Глава 22. Сообщество пользователей Ruby …Тот, кто не способен вступить в общение или, считая себя существом самодовлеющим, не чувствует потребности ни в чем, уже не составляет элемента государства, становясь либо животным, либо божеством. Аристотель, «Политика»[19] Уже было
ГЛАВА 7. Интерфейсы и коллекции
ГЛАВА 7. Интерфейсы и коллекции В этой главе предлагается рассмотреть тему программирования на основе интерфейсов, чтобы расширять ваши представления об объектно-ориентированном подходе в области разработки приложений. Здесь вы узнаете, как в рамках C# определяются и
Глава 17 Графические возможности
Глава 17 Графические возможности ? Сканирование изображений.? Обработка изображений.? Печать