Fltk linux что это

Содержание
  1. fltk.org — что это за папка?
  2. Разбираемся
  3. Добавить комментарий Отменить ответ
  4. Fltk linux что это
  5. Содержание
  6. Название
  7. История
  8. Особенности
  9. Пример
  10. Использование
  11. Примечания
  12. См. также
  13. Ссылки
  14. Полезное
  15. Смотреть что такое «FLTK» в других словарях:
  16. Часть первая – компиляция библиотеки
  17. Часть вторая – пишем программу
  18. Fltk linux что это
  19. Установка [ править ]
  20. Пакет libfltk13 [ править ]
  21. Пакет libfltk-dev [ править ]
  22. Пакет libfltk13-doc [ править ]
  23. Пример сборки простейшего приложения с кнопкой [ править ]
  24. Fltk linux что это
  25. Платформонезависимая разработка программ
  26. Языки программирования
  27. Простое приложение
  28. C/C++ библиотеки
  29. Trolltech Qt
  30. Обзор Qt
  31. wxWidgets
  32. Обзор wxWidgets
  33. GTK+ и gtkmm
  34. Обзор GTK+
  35. Обзор FLTK
  36. FOX Toolkit
  37. Обзор FOX
  38. Другие способы
  39. Платформонезависимость
  40. Объектно-ориентирование програмирование
  41. Синтаксис языка
  42. Библиотека классов
  43. Безопасность
  44. Стабильность
  45. Java Development Kit (JDK)
  46. JHelloWorld
  47. JavaScript и Java
  48. Попытки стандартизации
  49. Декомпилирование
  50. Удивительный язык или короткометражная реклама
  51. GUI и Java
  52. SWT и Eclipse
  53. Аббревиатуры используемые в JAVA
  54. Обзор Java
  55. Kylix
  56. Обзор Kylix
  57. Smalltalk
  58. Обзор Smalltalk
  59. Mozilla
  60. Обзор Mozilla
  61. Ответ Microsoft
  62. Что такое .NET ?
  63. Что такое Visual Studio .NET ?
  64. Различия между Visual Basic (VB) и VB .NET
  65. Какой язык программирования самый пригодный для написания приложений?
  66. .NET и Linux
  67. Обзор .NET
  68. Вывод
  69. Страница отзывов

fltk.org — что это за папка?

fltk.org — папка компонента FLTK, который используется для создания интерфейса приложения (GUI), который одинаково выглядит на разных ОС (Windows, Linux, MAC).

Разбираемся

  1. Данная папка от компонента Fast, Light Toolkit, который представляет из себя кросс-платформенный инструмент для создания графического интерфейса программы (GUI). Это инструмент, который нужен, чтобы интерфейс приложения (внешний вид) — был одинаков в разных операционных системах.
  2. FLTK имеет дело только с интерфейсом программ. Чтобы их внешний вид был примерно одинаков, например на ОС Линукс, МАК, Виндовс. Обеспечивает современную функциональность графического интерфейса без лишних элементов, поддерживает 3D (OpenGL), есть пользовательский конструктор FLUID.
  3. Простыми словами — наличие папки fltk.org говорит о том, что на вашем ПК есть ПО, которое использует инструмент FLTK. Если папку удалить — разумеется могут быть проблемы с таким ПО, работать может некорректно, может вообще не запуститься. Если размер директории fltk.org небольшой — тогда советую вообще не трогать ее, это не вирус, ничего опасного нет.

Название папки является названием официального веб-сайта:

Пример работы компонента FLTK (внешний вид может зависеть от версии) — создание интерфейса приложения:

Надеюсь данная информация оказалась полезной. Удачи и добра.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник

Fltk linux что это

1.3.1 (7 ноября 2012)

Содержание

Название

Изначально назывался FL (Forms Library). При переходе в open source выяснилось, что поиск по названию FL практически невозможен — аббревиатура FL также означает штат Флорида. Поэтому пакет был переименован в FLTK (FL Toolkit), позднее ему был придуман бэкроним Fast, Light Toolkit.

История

FLTK начал разрабатываться как замена библиотеке XForms, а позднее был портирован на Mac OS и Windows. FLTK появился раньше, чем другие популярные библиотеки для создания GUI, но был практически неизвестен до 1998 года. [1]

Особенности

FLTK представляет собой библиотеку виджетов и работает на ОС UNIX/Linux X11, Microsoft Windows и MacOS X. Малый объём библиотеки делает её подходящей для использования во встраиваемых системах.

Для встраиваемых систем на основе embedded Linux возможны следующие варианты:

FLTK + nxlib + nano-X (довольно стабильно работает, но есть проблемы с кириллицей)

FLNX — порт FLTK 1.0.7 на nano-X (работает только с версией 0.92)

DirectFB FLTK — порт FLTK на DirectFB + собственно сам DirectFB (данная сборка нестабильная и не умеет рисовать шрифты)

Пример

Следующий пример для FLTK 1.x создаёт окно с кнопкой «Ok»:

Использование

Примечания

  1. Article №362: What is FLTK? (англ.) . Архивировано из первоисточника 10 марта 2012.Проверено 29 октября 2008.

См. также

Ссылки

  • fltk.org — официальный сайт FLTK
Инструменты разработки элементов графического интерфейса
Низко-
уровневые

Macintosh Toolbox/Carbon • Windows API • Intrinsics • Intuition • Xlib

BOOPSI • Magic User Interface • Zune • ReAction GUI

Cocoa • MacApp • MacZoop • PowerPlant

Кросс-
платфор-
менные
На основе Flash

ASWing • Adobe Flex • Gnash • SWF2EXE Software

Ample SDK • CougarXML • Dojo Toolkit • Echo • ExtJS • GladeXML • Google Web Toolkit • jQuery • Lively Kernel • MooTools • Pyjamas • qooxdoo • Rialto Toolkit • script.aculo.us • XML User Interface • XUL • Yahoo! UI Library

Agar • CEGUI • Component Library for Cross Platform • dlib C++ Library • FLTK • FOX toolkit • OpenGL User Interface Library • GTK+ • IUP • Juce • JX Application Framework • Qt • TnFOX • Visual Component Framework • wxWidgets • YAAF • XForms • XVT • Ultimate++

CAPI • Common Graphics • CLIM • McCLIM • Garnet

Pyjamas • PyQt • PyGTK • PyGUI • wxPython • PySide • Tkinter

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «FLTK» в других словарях:

FLTK — Saltar a navegación, búsqueda FLTK www.fltk.org Información general Última versión estable … Wikipedia Español

FLTK — (Abk. Fast Light ToolKit) ist ein von Bill Spitzak entwickeltes GUI Toolkit für 3D Grafikprogrammierung und enthält eine OpenGL Anbindung. FLTK ermöglicht es Programme zu erstellen, die, wenn sie auf dem entsprechenden Betriebssystem kompiliert… … Deutsch Wikipedia

FLTK — Dernière version 1.1.9rc1 (11 avril 2008) [ … Wikipédia en Français

FLTK — Infobox Software name = FLTK caption = developer = released = 1998 frequently updated = yes programming language = C++ operating system = Unix/Linux/BSD (X11), Mac OS X, Windows genre = Widget toolkit license = GNU Lesser General Public License… … Wikipedia

Dillo — 3.0 displaying the English Wikipedia … Wikipedia

Cairo (Bibliothek) — Cairo Basisdaten Entwickler: Das Cairo Team Aktuelle Version: 1.8.6 (13. Dezem … Deutsch Wikipedia

Equinox Desktop Environment — Equinox Desktop Environment … Deutsch Wikipedia

Liste von GUI-Bibliotheken — Inhaltsverzeichnis 1 Plattformübergreifende Bibliotheken 1.1 C 1.2 C++ 1.3 C# 1.4 Fortran … Deutsch Wikipedia

Dillo — Saltar a navegación, búsqueda Dillo Dillo 0.8.6 mostrando la portada de … Wikipedia Español

FLUID — Saltar a navegación, búsqueda Ventana de FLUID FLUID (del Inglés, Fast Light User Interface Designer) es un editor gráfico que facilita el diseño de la interfaz gráfica de usuario (IGU) de programas basados en la biblioteca FLTK. FLUID genera los … Wikipedia Español

Источник

Часть первая – компиляция библиотеки

Итак, начнём. Скачиваем последнюю версию FLTK с официального сайта. Архив должен называться fltk-версия-source.tar.gz. Распаковываем его в любое удобное место. Я распаковал его прямо на на диск C в папку fltk-src.

В распакованном виде всё должно выглядеть так:

Теперь нам нужно запустить MSYS. Переходим туда_куда_установлен_MinGw\msys\1.0 и запускаем там msys.bat.

Вводим туда cd /диск/папка_с_fltk

Потом вводим ./configure —enable-threads —enable-localjpeg —enable-localzlib —enable-localpng и ждём.

Далее следует ввести make и ждать. Можно пойти чай заварить.

Теперь копируем библиотеки в компилятор. Для этого вводим make install

Всё, что получилось складывается в папку туда_куда_установлен_MinGw\msys\1.0\local. Для удобства я перенёс эти папки в корень MinGw.

Всё, библиотека готова к использованию.

Часть вторая – пишем программу

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

Для начала нужно нарисовать макет нашей программы (о FLUID я узнал позже). Я нарисовал в GIMP.

Зачем это делать? Всё просто. У каждого элемента в окне есть свои координаты. И чтобы не ставить элементы наугад, можно просто навести мышку на точку в графическом редакторе и узнать координаты. Исходя из этого всего пишем программу.

Теперь нужно сие дело откомпилить. Открываем терминал в папке с программой и пишем там

g++ имя_исходника -o имя_исполняемого_файла -DWIN32 -D__NO_INLINE__ -static -static-libgcc -static-libstdc++ -lfltk -lmingw32 -lole32 -luuid -lcomctl32 -mwindows

-DWIN32 – флаг, которые заставят думать FLTK, что мы под Windows

-mwindows – убираем чёрное окошко у приложения и подключаем некоторые системные библиотеки

-D__NO_INLINE__ – флаг, который заставит работать math в нашей программе

-static -static-libgcc -static-libstdc++ – флаги. благодаря которым программа запустится на других компьютерах и не будет ничего требовать

-lfltk -lmingw32 -lole32 -luuid -lcomctl32 – флаги, с помощью которых подключается библиотека и всё, что ей требуется. В некоторых случаях может также понадобиться флаг — lgdi32 .

Также можно добавить флаги -O2 / -Os и -s для уменьшения размера исполняемого файла.

Теперь можно запустить наше творение 🙂

И да, код программы ужасен и написан в исключительно демонстрационных целях.

Источников в этот раз не будет, так как всю информацию черпал из программ-примеров, находящихся в том же архиве, что и исходник библиотеки (папки examples и test).

Источник

Fltk linux что это

Этот документ описывает возможности дистрибутивов семейства ALT Linux по сборке легковесных портируемых приложений с использованием библиотеки FLTK. Изложение ведётся в контексте языка программирования C++, несмотря на то, что применение библиотеки им не ограничивается (имеются привязки и к другим языкам).

Установка [ править ]

После обновления индексов пакетной базы, а возможно и всей системы, производим установку:

apt-get install libfltk-devel libfltk-doc

Для разработки пакет документации можно и не ставить, если есть доступ в Интернет.

Пакет libfltk13 [ править ]

Содержит утилиту /usr/bin/fluid для проектирования GUI с генерацией исходного кода C++. Но основное назначение пакета — разделяемые библиотеки исполнения для запуска приложений на основе FLTK. Также там есть справочное руководство в формате nroff.

Пакет libfltk-dev [ править ]

Содержит утилиту /usr/bin/fltk-config для получения информации о параметрах компиляции и сборки приложений с из исходных кодов в текущую систему. К сожалению, в доступном автору дистрибутиве статическая библиотека (*.a) не предоставлена, хотя FLTK-приложения с ней часто собирают. Поэтому, будут рассматриваться только варианты сборки с разделяемой библиотекой (*.so).

Пакет libfltk13-doc [ править ]

Содержит справочные файлы в формате HTML/PNG/ и др. в каталоге: /usr/share/doc/fltk-1.3.3/html

При этом в браузере входная точка будет file:///usr/share/doc/fltk-1.3.3/html/index.html

Пример сборки простейшего приложения с кнопкой [ править ]

В любимом редакторе пишем, допустим в файл ok_btn.cxx такой код на C++:

Запускаем в командной строке, в каталоге с этим исходным файлом компиляцию и сборку:

`fltk-config —cxx` `fltk-config —cxxflags` ok_btn.cxx -o ok_btn `fltk-config —ldflags`

Запускаем на выходе полученный файл: ./ok_btn

Источник

Fltk linux что это

В настоящее время Michael занимается разработкой программного обеспечения взаимодействующего с аппаратными средствами. Работая над очередным проектом решил рассмотреть вопросы стратегии выбора среды разработки.

Перевод на Русский:
Лебедев Александр Сергеевич

Содержание:

  • Языки программирования
  • Простое приложение
  • C/C++ библиотеки
  • Trolltech Qt
  • Обзор Qt
  • wxWidgets
  • Обзор wxWidgets
  • GTK+ и gtkmm
  • Обзор GTK+
  • FLTK
  • Обзор FLTK
  • FOX Toolkit
  • Обзор FOX
  • Другие способы
  • JAVA
  • Платформонезависимость
  • Объектно-ориентирование програмирование
  • Синтаксис языка
  • Библиотека классов
  • Безопасность
  • Стабильность
  • Java Development Kit (JDK)
  • JHelloWorld
  • JavaScript и Java
  • Попытки стандартизации
  • Декомпилирование
  • Удивительный язык или короткометражная реклама
  • GUI и Java
  • SWT и Eclipse
  • Аббревиатуры используемые в JAVA
  • Обзор Java
  • Kylix
  • Обзор Kylix
  • Smalltalk
  • Обзор Smalltalk
  • Mozilla
  • Обзор Mozilla
  • Ответ Microsoft
  • Что такое .NET ?
  • Что такое Visual Studio .NET ?
  • Различия между Visual Basic (VB) и VB .NET
  • Какой язык программирования самый пригодный для написания приложений?
  • .NET и Linux
  • Обзор .NET
  • Вывод
  • Страница отзывов

Платформонезависимая разработка программ

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

В большинстве программ обычно пишут на какой операционной системе они работают. Читатели этого журнала используют Linux, и все же другие операционные системы, к примеру, Windows, также популярны среди пользователей. В принципе, приложения не должны от них зависеть, на любой платформе пользователь все должен понять интуитивно.
Эта статья покажет, что выбор специфичной платформы для приложения необязателен, и что возможно написать программу, которая будет компилироваться на разных операционных системах. При написании статьи использовались ПК с двумя операционными системами — Linux и Windows. Возможно, программы запускались бы и на Mac, и на MacOSX, но в данный момент проверить это невозможно из-за отсутствия необходимого оборудования.

_________________ _________________ _________________

В независящих от операционной системы библиотеках существует два различных способа отображения пользовательского интерфейса:

  1. Собственные библиотеки: для отображения элементов используются системные ресурсы. Это позволяет всем приложениям иметь стандартный интерфейс. Эти библиотеки различаются в зависимости от операционной системы, например, стандартный интерфейс под Linux отличается от Windows 2000 или XP.
  2. Второй способ предполагает, что все функции по отображению графики будет выполнять сама программа, поэтому интерфейс будет одинаков на любой системе.

Кроме того, технические параметры самого пакета играют отнюдь не последнюю роль. Обычно в качестве этих параметров принимают следующие факторы присутствующие в этих пакетах, именно их мы и будем сравнивать:

  • Среда программирования: встроенные среды программирования (например GUI конструктор, генератор makefile`ов) упрощают разработку программ.
  • Документация и поддержка: хорошая документация может существенно помочь при появлении проблем.
  • Расходы на лицензию: пока что большинство библиотек легко доступны и бесплатны для личного использования, для коммерческих же библиотек характерна высокая цена.
  • Возможные проблемы при портировании программ.

В данном случае еще один вопрос должен быть принят в расчет, однако это применимо не ко всем проектам:

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

Внизу, на картинке, показано, какое место в модели занимают библиотеки:

Языки программирования

Первый критерий по-которому мы будем отбирать пакеты — это языки программирования. Вот те из них, о которых мы будем подробно рассказывать:

  1. C/C++ библиотеки
  2. Java
  3. Kylix
  4. Smalltalk
  5. Mozilla

Другие языки детально будут рассмотрены когда они станут более популярны среди программистов.

Простое приложение


Для сравнения различных пакетов, создадим простое приложение, используя все библиотеки, которые можно генерировать. Приложение не блещет особой функциональностью, но тем не менее оно наглядно показывает наиболее важные части его работы. Windows-приложения создавались при помощи Visual C++ 6.0 и ее основной библиотеки классов — MFC, остальные пакеты сравнивались с ним обычным просмотром. В качестве Linux-дистрибутива я использовал RedHat Fedora Core 2 и Debian 3.0.

Скриншот в Windows 2000 и Windows XP (исходный код для Visual C++ здесь (win32_src.zip)).

C/C++ библиотеки


Trolltech Qt

Qt — это библиотека классов от норвежской компании Trolltech для платформонезависимого программирования на С++. Оконный менеджер KDE основан именно на этой библиотеке. Поначалу QT была разработана под лицензией недоступной для большинства пользователей. По этой причине была создана библиотека GTK+, которая стала основой для нового оконного менеджера — Gnome. Тем временем, Linux-версия, так же как и MacOS-версия, вместе со всеми исходниками стала доступна по лицензии GPL. Для Windows, QT все еще является коммерческой. Trial-версию можно загрузить с домашней странички, но она довольно сильно отличается от коммерческой версии. В дальнейшем я про нее расскажу более подробно. Эта версия также требует регистрации.

Кроме того, в версиях для Windows и некоторых разновидностях Linux(Unix) и Mac, предоставляются инструменты для администрирования.

Установка библиотеки под Linux прошла, как и ожидалось, без проблем, включая графические утилиты, такие как QT Designer. Вместе с ней поставляется подробная документация и множество примеров. Qt Designer создает на выходе XML-файл с кодом для GUI. При помощи программы qmake, из пакета Qt -Tool, вы можете создать из него Makefile. Makefile генерируется из исходника С++, в котором описана структура GUI (Qt-Tool: uic) и вызывает Meta Object Compiler (Qt-Tool: moc). Последний транслирует код QT обратно в исходник С++. После этого запустить программу можно с помощью стандартной команды make.

Для генерирования исходников вручную понадобится следующая последовательность команд (входным файлом является MyDialog.ui):

  • uic MyDialog.ui > MyDialog.h
  • uic -impl MyDialog.h MyDialog.ui > MyDialog.cpp
  • moc -o moc_MyDialog.cpp MyDialog.h

Скриншот в Linux и Windows 2000 (исходный код для QtDesigner здесь (qt_src.tar.gz)

Обзор Qt

Имя: Trolltech Qt
Версия: 3.3.2
Операционные системы: Linux, Win32, MacOS, Solaris, IRIX, AIX, HP-UX
Язык программирования: C++
Лицензия: GPL или коммерческая лицензия
Преимущества:
  • является основной библиотекой для KDE Windows Manager в Linux
  • инсталляционные пакеты присутствуют во многих стандартных дистрибутивах (установка очень простая)
  • настраиваемые средства управления под Windows
  • мощная среда программирования
  • проверенный временем
  • поддержка со стороны свободных разработчиков позволила изменить код MFC
Недостатки:
  • возможны большие лицензионные отчисления (дорогой)
  • ошибки во время установки под Windows
Среда программирования: QtDesigner, KDevelop
WWW: http://www.trolltech.com
Документация: руководства, справочники, списки рассылки
на http://doc.trolltech.com/3.3/index.html
Крупные проекты:
  • KDE Desktop (Default e.g. with SuSE)
  • Opera Browser
  • Photoshop Album
Дистрибутив: широко распространен

wxWidgets

Пакет wxWidgets появился около 12 лет назад, до определенного времени он носил имя wxWindows, но после «переговоров» с Microsoft его пришлось изменить. wxWidgets включает в себя огромную коллекцию различных классов, которые можно использовать в приложении. Множество примеров доказывают, что wxWidgets является очень мощным проектом.

Процесс программирования чем-то напоминал Visual C++ и закончился успешно.

Недостатки проявились при использовании wxWindows 2.4.2 на системе RedHat Fedora Core 2 при компилировании программы. Причиной тому было то, что GTK+ обращался к закрытым функциям обновленной версии GTK+, а в ней запрещалось это делать, но это не серьезная проблема. Все отлично заработало после подключения стандартной библиотеки GTK+. В Debian все прошло без проблем.

Инсталляция под Windows не показала каких-либо ошибок.

Скриншот в Linux и Windows 2000 (исходный код для wxWidgets здесь).

Обзор wxWidgets

Имя: wxWidgets
Версия: 2.4.2
Операционные системы: Linux, Win32
Язык программирования: C++
Лицензия: LGPL
Преимущества::
  • достаточно прост в обращении (много примеров).
  • очень хорошая документация.
Недостатки:
  • Проблемы с комбинацией Fedora Core 2 — wxWindows2.4.2
Среда программирования:
WWW: http://www.wxwidgets.org
Документация: руководства, справочники, списки рассылки
на http://wiki.wxwidgets.org
Крупные проекты: AOL Communicator
Дистрибутив: не очень широко распространен

GTK+ и gtkmm

Акроним GTK+ означает «The GIMP Toolkit». Два хорошо известных проекта, основанных на нем — Gnome Windows Manager, часть любого стандартного Linux-дистрибутива, и графический редактор GIMP. Как и KDE (смотрите QT), Gnome является очень мощной графической оболочкой под Linux. Во многих дистрибутивах Gnome устанавливается по-умолчанию. По сравнению с предыдущей, новая версия GTK+ более стабильна и функциональна.

Одним из преимуществ GTK+ является то, что он полностью написан на С. Естесственно GTK+ предоставляет средства для работы именно с этим языком, для этого существует GUI-конструктор — glade2. Если вам нужно писать код на С++, то вы можете воспользоваться таким средством как gtkmm, который иногда называют GTK—.

Несмотря на профессионально написанный пакет GTK+ в Linux, ‘GTK+ для Win32’ не производит особого впечатления. Зайдя на главную страничку GTK+ вы увидете сообщение примерно такого содержания -» Программа может неожиданно завершиться или работать некорректно». (Как собственно, и любая коммерческая программа под Windows.) Стабильность зависит от многих факторов, таких как драйвера дисплея, другие программы, как установленные, так и нет (статус 2004-09-06). Отчаянные разработчики, несмотря ни на что, кликают на ссылке и получают длинный список компонентов для загрузки. А для полноценного пакета, достаточно один раз его найти и скачать. Кроме того, инструкция по установке требует, чтобы мы вернулись на главную страничку и загрузили все недостающие компоненты. Вот заявление о ‘GTK+ для Windows’ сделанное на главной веб-странице: «Вы ожидали спокойно использовать GTK+ в своих программах? Это не Visual Basic.» После установки множества компонентов и неудачной попытки запустить тестовое приложение, у большинства разработчиков может погаснуть рвение углубляться в изучение этого пакета. Некачественно выполненная реализация ‘GTK+ для Win32’ приводит нас к выводу о том, что не стоит использовать этот «пакет» для написания профессиональных приложений.


Скриншот GTK+ в Linux (исходный код для glade2 здесь (gtk_src.tar.gz))

Обзор GTK+

Имя: GTK+ — The GIMP Toolkit
Операционные системы: Linux, Win32
Язык программирования: C (для C++ — gtkmm)
Лицензия LGPL
Преимущества:
  • основная библиотека для менеджера Gnome под Linux
  • пакет включен во все основные дистрибутивы (инсталляция очень проста)
  • настраиваемые средства управления под Windows
  • хорошо себя зарекомендовал (под Linux)
Недостатки:
  • неудачная реализация под Win32, приложения работают нестабильно (09-2004)
Среда программирования: glade (GUI Builder), Anjuta
WWW: http://www.gtk.org
Документация: руководства, справочники, списки рассылки
на http://developer.gnome.org/doc/API/2.0/gtk/index.html
Крупные проекты:
  • Gnome Desktop
  • GIMP
  • Gnumeric
Дистрибутив: Linux: широко распространен, Windows: слабая реализация

FLTK Toolkit ( Fast, Light Tool Kit) — довольно крупный, однако малоизвестный пакет, который является наследником XForms. Исходники размером 2.3 MB (для Linux) и 3MB (для Windows) доступны на сайте разработчика. Установка под Linux достаточно проста: распакуйте архив, а затем выполните make. После установки пользователь получит библиотеки, примеры программ, конструктор GUI — «fluid» и справочник по программированию на FLTK. Правда число управляемых классов в нем намного меньше, чем у таких тяжеловесов, как QT и wxWindows. Тем не менее эти классы включают в себя многие элементы GUI: окна, меню, OpenGL. Классы для работы с сетью туда не включены.

Установка под Windows была намного сложнее. При использовании Visual C++ Development Environment только главный проект должен быть транслирован. Возможно, это стало причиной проблем с библиотекой. Чтобы ее избежать надо раскомментировать строку, в которой она упоминается в config.h. Вторая особенность заключалось в особом способе запуска программ, для этого FLTK открывал окно DOS. Это нужно для того, чтобы программа могла корректно использовать потоки вывода.

В общем, FLTK Toolkit оставил впечатление довольно грамотно написанного пакета. В документации подчеркнули, что размер исполняемого файла очень маленький (всего 80kb для » hello world» ) и достаточно быстрая 2D и 3D графика (OpenGL). Нельзя также не упомянуть о хорошей переносимости на другие платформы.

Скриншот в Linux и Windows 2000 (исходный код здесь (fltk_src.tar.gz) )

Обзор FLTK

Имя: Fast Light Tool Kit
Версия: 1.1.5rc2
Операционные системы: Linux, Win32, MacOS
Язык программирования: C++
Лицензия: LGPL
Преимущества:
  • очень гибкая библиотека
  • исходник включает в себя документацию и среду программирования «fluid».
  • хорошая поддержка OpenGL (не тестировалось)
  • настраиваемые средства управления под Windows
Недостатки:
  • Инсталляция под Windows (Visual C++) прошла не без проблем
  • Среда программирования fluid под Windows работала нестабильно.
Среда программирования: fluid (GUI Builder)
WWW: http://www.fltk.org, Загрузка: http://freshmeat.net/projects/fltk/
Документация: руководства, справочники, списки рассылки
на http://vtkfltk.sourceforge.net/
Крупные проекты:
Дистрибутив: мало распространен, особенно среди программистов.

FOX Toolkit

The Fox Toolkit претендует на то, чтобы стать самым быстрым пакетом, среди рассмотренных нами. Он содержит большое число элементов GUI и поддержку OpenGL.

Установка как под Linux, так и под Windows прошла без проблем. В пакете есть подробная документация и различные примеры. Просмотрщик классов не включен в эту версию, но доступен на сайте программы.

Скриншот в Windows 2000 (исходный код здесь (fox_src.zip))

Обзор FOX

Имя: FOX Toolkit
Версия: 1.2.9
Операционные системы: Linux, Win32
Язык програмирования: C++
Лицензия: LGPL
Преимущества:
  • Хорошая документация
Недостатки:
Среда программирования:
WWW: http://www.fox-toolkit.org
Документация: руководства, справочники, списки рассылки
Крупные проекты:
  • X File Explorer (Xfe)
Дистрибутив: слабо распространен

Другие способы

В 1995 компания Sun анонсировала новый язык программирования. Кроме версий для настольных ПК, планировалось использовать его в качестве языка для обыкновенных приборов (кофеварки, тостеры. ). И все же наибольшую популярность он приобрел в качестве языка для написания интернет-приложений (апплетов), которые работают с веб-браузерами. Сегодня, Java используется и в качестве языка для написани я обычных приложений, так как в нем заложены многие средства для профессионального программирования.

Ниже будет рассказано о наиболее важных особенностях этого языка.

Платформонезависимость


Объектно-ориентирование програмирование

Java — объектно-ориентированный язык. Разработчик объектного ориентирования был явно вдохновлен идеями, заложенными в Smalltalk. Возможно, исходя из соображений производительности, до сих пор существуют простейшие типы данных, которые не представлены как объекты.

Синтаксис языка

Синтаксис Java довольно сильно напоминает C и C++, при этом многие проблемы этих языков также перешли и в Java. И все же одним из главных принципов разработки ПО на этом языке является использование лучших концепций существующих языков программирования.

Приведем пример:

  • Отсутствие препроцессора. Сейчас нет необходимости его использовать, как и файлы заголовков, так как вся информация храниться в файле классов.
  • указатели: в Java отсутствуют указатели, вместо них используются выражения. Они представляются как объекты класса.
  • garbage-collector: различные проблемы при создании и удалении объектов решаются самим Java. После того, как объекты покидают массив они автоматически удаляются. Объекты или массивы, которые не используются также находятся под контролем Java.
  • исключения: обработка исключений в Java довольно сильно отличается от его аналога в С++, в Java обращение к исключениям происходит намного чаще, очень часто они вызываются принудительно.

Библиотека классов


Безопасность


Стабильность


Java Development Kit (JDK)

The Java Development Kit можно загрузить с сайта компании Sun. Этот пакет включает в себя простейшие примеры приложений, классы и документацию. В него также включены компилятор, дебаггер, апплет-вьювер. В общем все, что нужно для создания и тестирования программ и апплетов. Самая необходимая вещь — компилятор, он имеет интерфейс коммандной строки. Следует также упомянуть о том, что этот пакет содержит Java Runtime Environment (JRE, в основе которой лежит виртуальная машина), которая нужна для преобразования приложений в байт-код. Документация подробно описывает работу API.

JHelloWorld


JavaScript и Java


Попытки стандартизации


Декомпилирование


Удивительный язык или короткометражная реклама

Идея Java выглядела как начало универсального программирования под различные платформы. К сожалению, эта была всего лишь реклама. Всевозможные конфликты версий между виртуальными машинами Java и низкая скорость запуска программ, заставляли многие компании возвращаться к стандартному программированию на С++ . Огромное число загрузок wxWidgets разработчиками — убедительное тому доказательство.

Интересный веб-сайт посвященный этой теме: http://www.internalmemos.com/memos/memodetails.php?memo_id=1321 где разработчики из Sun приводят аргументы против Java.

GUI и Java

Java предоставляет 2 различных способа программирования графического интерфейса:

  1. В Java поставляется богатая библиотека классов (JFC, Swing). Никакие системные функции при этом не используются. Все элементы рисуются при помощи Java-инструкций. Это позволяет изменять интерфейс в реальном времени. Примеры можно увидеть на скриншотах.
  2. Простейшие AWT-функции. AWT не имеет таких элементов, как разветвления и он не очень подходит для большинства приложений.

Скриншоты Java в Metal-, Motif- и GTK+ (Исходный код здесь (java_src.zip))

Скриншоты Java в Windows 2000 и Windows XP (идентичный исходный код)

Все популярные браузеры поддерживают Java. Приложения (апплеты) могут быть написаны в самом браузере. Эта технология может использоваться в уже существующих системах, где байт-код может быть загружен с веб-сервера и интегрирован в приложение.

Следующий скриншот наглядно показывает, как приложение интегрируется в веб-страницу в качестве Java-апплета.

Скриншот, показывающий пример апплета (исходный код здесь (java_applet.zip))

SWT и Eclipse


Аббревиатуры используемые в JAVA

JDK (Java Development Kit) Полноценный Java-пакет для создания приложений на этом языке, включающий в себя классы и документацию.
JRE (Java Runtime Environment) Содержит в себе виртуальную машину, используется всеми Java-приложениями.
J2ME (Java 2 Micro Edition) Версия Java для устройств с ограниченными ресурсами, например мобильных телефонов.
J2SE (Java 2 Standard Edition) Версия Java для настольных машин (Linux, Windows. )
J2EE (Java 2 Enterprise Edition) Версия Java для создания многоуровневых приложений для клиент/серверных станций.
JFC (Java Foundation Class) Классы для создания графического интерфейса(Swing)

Обзор Java

Имя: JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0
Версия: 5.0
Операционные системы:
  • Linux, Windows, Solaris (SUN)
  • Linux, Windows, AIX, Solaris (possibly MacOS, OS/2, FreeBSD, Amiga, BeOS) (Jikes -> IBM)
Язык программирования: JAVA
Лицензия: закрытая лицензия (SUN)
Преимущества:
  • грамотно написанный язык (много ошибок было устранено в самой концепции языка).
Недостатки:
  • закрытый язык, который находится под полным контролем Sun
  • виртуальная машина должна присутствовать на каждой платформе
  • низкая скорость запуска программ
  • пакет SWT более продуман, чем Swing
Среда программирования: Eclipse
WWW: http://java.sun.com
Документация: справочники, статьи:
http://java.sun.com/j2se/1.5.0/docs/, http://www-e.uni-magdeburg.de/mayer/java.html
SWT: http://eclipse-wiki.info/SWT, http://www.java-tutor.com/java/swtlinks.html
Крупные проекты:
Дистрибутив: широко распространен

Kylix

Kylix — это кроссплатформенная среда программирования для Linux и Windows. Справочные средства по библиотеке Borland’s CLX помогут вам написать приложения как на Delphi, так и на C++, которые будут работать на обеих платформах. Интересные вещи можно узнать на страничке проекта wikipedia (ссылка de.wikipedia.org/wiki/Kylix). Эта библиотека является всего лишь оболочкой ранее рассказанной QT. Более того, среда программирования для Kylix основана на программе wine и не является самостоятельным Linux-приложением( de.wikipedia.org/wiki/WINE_Is_Not_an_Emulator) Из этого следует, что все разрабатываемые приложения должны обращаться к библиотеке libwine. Принимая все это во внимание, не удивительно, что программисты, пишушие на С++ предпочитают использовать бесплатный QT, который к тому же является открытым проектом.

Обзор Kylix

Имя: Kylix
Версия: 3
Операционные системы: Windows, Linux
Язык программирования: Delphi, C++
Лицензия: закрытая лицензия
Преимущества:
  • разработка приложений на Delphi и C++
Недостатки:
  • лицензионные отчисления
Среда программирования: Kylix
WWW: http://www.borland.de/kylix
Документация:
Крупные проекты:
Дистрибутив: не очень распространен

Smalltalk

Smalltalk — это классика среди языков программирования. Он был написан в 1969/70 годах компанией Xerox и он до сих пор является хорошим примером объектно-ориентированного языка. В нем абсолютно всё является объектами. Нету простейших текстовых типов, как Java и .Net (читайте ниже) использует виртуальную машину. Синтаксис немного напоминает английскую речь, но он сильно отличается от других языков программирования. Smalltalk уже около 10-15 лет. Он был довольно популярен, пока не появился Java.

Вот простейшая программа ‘Hello world !’, написанная на Smalltalk: Smalltalk используется энтузиастами до сегодняшних дней. Наиболее доступный вариант — Smalltalk — 80 (стандартизирован в 1980 году). Довольно мощная среда программирования для него — это Squeak.

Обзор Smalltalk

Имя: Smalltalk (Squeak)
Версия: 3.6
Операционные системы: Windows, Linux, Solaris, MacOSX, Darwin
Язык программирования: Smalltalk
Лицензия: Open Source
Преимущества: полностью объектно-ориентированный язык
Недостатки: Smalltalk, не без помощи Java, был отодвинут в сторону, что стало причиной уменьшения числа пользователей этого языка.
Среда программирования: Squeak
WWW: http://www.smalltalk.org
Документация:
Крупные проекты:
Дистрибутив: не очень распространен

Mozilla

Mozilla? Веб-браузер? Как можно писать программы при помощи браузера? Mozilla это не только браузер, но и платформонезависимая среда Framework, в которую включены различные стандарты, такие как XUL (основанный на XML язык). XUL определяет структуру и содержание приложения. Все файлы представляют собой обычный текст. Mozilla не видит разницы между программами и web -страницами.

Введите следующую строку в качестве адреса страницы: Следующий код отобразит кнопку, нажав на которую, появится текстовое окно с сообщением «Hello World!»:
Разработка программ при помощи mozilla несколько отличается от классического программирования. Mozilla сделала много нововведений, такие как разделение самого приложения от его отображения. Это позволяет легко изменять вид приложения, т.е. создавать темы для него. Примером такого приложения является мощный веб-браузер firefox.

Скриншот в Linux и Windows 2000 (исходный код здесь (moz_src.tar.gz)).

Обзор Mozilla

Имя: Mozilla
Версия: 1.6
Операционные системы: Windows, Linux,
Язык программирования: XUL
Лицензия: Mozilla Public License, Netscape Public License
Преимущества:
  • новаторские концепции
  • поддержка многих стандартов (JavaScript, Stylesheets. )
  • приложения запускаются в браузере вручную
Недостатки:
Среда программирования:
WWW: http://www.mozilla.org
Документация: справочники, учебники, списки рассылки: www.xulplanet.com
Крупные проекты: Mozilla firefox
Дистрибутив: широко распространен, но редко используется в качестве среды для разработки программ.

Ответ Microsoft

Тем временем, Microsoft готовила собственное наступление. Разработка под названием .NET, которая по их представлениям должна была приостановить миграцию разработчиков на Java-платформу. Их действия против своего конкурента можно увидеть даже в терминах. Эквивалент «байт-код» от Java называется в С# — «Промежуточный язык» (MSIL «Intermediate Language»).

Что такое .NET ?

.NET — это технология разработанная Microsoft, которая станет базой для ее следующих продуктов. Поддержка компилирования приложений, основанных на библиотеке MFC для Visual C++ была исключена с самого начала. При помощи .NET можно легко создавать сетевые и интернет-приложения, много идей было взято из Java, он также поддерживает объектно-ориентированное программирование и использует для этого всего одну библиотеку классов, которую можно использовать в разных языках программирования (С#,VB.NET). Она является неким посредником между программой и железом (похожая схема у Java: Исходник->байт-код ->виртуальная машина -> оборудование).

Следующие версии Windows будут поставляться вместе с базовой основой .NET

Что такое Visual Studio .NET ?

Visual Studio .NET — это среда программирования для быстрого создания .NET-приложений.

Различия между Visual Basic (VB) и VB .NET

VB.NET для совместимости с предыдущими версиями поддерживает много оригинальных функций VisualBasic, а также сохранен синтаксис языка. В остальном — это совершенно другой язык программирования.

Какой язык программирования самый пригодный для написания приложений?

Пока исходный код VB.NET и код C# транслируются в MSIL, нет никакой разницы в используемом языке программирования. Компилятор С# был самым мощным, когда он разрабатывался специально для .NET.

.NET и Linux

Презрение к кроссплатформенному программированию стало причиной того, что Microsoft не желает разрабатывать Linux-вариант .NET. Но комманда под руководством Miguel de Icaza (Ximian: Evolution) поставила своей целью изменить эту ситуацию. Разработанный ими пакет Mono, версия 1.0, распространяемый под открытой лицензией, уже можно найти в интернете.

Обзор .NET

Имя: Microsoft .NET-Framework
Версия:
Операционные системы: Windows, Linux
Язык программирования: C#, Windows: VB.NET
Лицензия: закрытая лицензия
Преимущества:
  • является частью будущей версии Windows
Недостатки:
  • закрытое программное обеспечение
  • нет версии .NET для Linux
  • полностью новый API
Среда программирования: Visual Studio .NET
WWW:
Документация:
Крупные проекты:
Дистрибутив: на данный момент не очень распространен

Вывод

Основным приоритетом при выставлении финальной оценки пакету сводится к следующему: графическое клиент-серверное приложение должно правильно работать в сети. Для этого программы должны работать как на Linux так и Windows-платформах. Приложение не должно отличаться от исходной версии. С этим заданием просмотр протестированных пакетов показал неопределенные результаты и довольно сложно придти к окончательному решению.

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

Настоящим разочарованием для программистов стала версия GTK+ для Windows. Сообщество Linux не смогло сделать его стабильным продуктом. Предупреждения на главной странице проекта не дают особой уверенности в его работоспособности. Как это не прискорбно, GTK+ выглядит слишком сырым проектом. Вывод: реализация под Windows требует значительных улучшений.

Такие пакеты как Smalltalk и Mozilla предлагаю оценить вам самим. Smalltalk является примером хорошего объектно- ориентированного программирования, а Mozilla со своей технологией XUL предоставляет встроенный веб-браузер, однако ни один их них не является популярным средством для разработки программ.

В данном обзоре, Kylix, как и GTK+ для Win32, оставил негативное впечатление, слишком слаба популярность Turbo Pascal. В 80-х годах компания Borland выпустила мощный продукт — графическую оболочку для этого языка, которая могла запускаться на домашних компьютерах. В то время это казалось очень мудрым шагом. Сейчас все изменилось, Turbo Pascal перерос в Object Pascal, затем в Delphi и в конце концов в Kylix (конечно с улучшениями). Только вот теперь, эти продукты не вызывают тех же ощущений, что и раньше.

Сейчас Microsoft пытается продемонстрировать, что она является стандартом в нынешнее время. В начале компания пытается протолкнуть на рынок Java в их новом продукте Visual++. Туда были включены как стандартные команды Java, так и доступ к Win32-API, а также доступ к системному реестру (что явно противоречит принципам языка). Вдобавок, запускаемые приложения генерируются автоматически. После некоторых пререканий с Sun, было сделано заявление о том, что приложения не будут запускаться на других ОС. В конце концов Microsoft перестала работать над Java. К тому времени компания решила поменять свою стратегию. Своими продуктами, .NET и С++, Microsoft сделала новый стандарт. Комбинация Windows, .NET и C# безусловно хорошее сочетание, но и сейчас комбинация Windows, Visual++ и библиотеки MFC выглядит неплохой. Недостатком является то, что всего одна компания делает попытки протолкнуть свой стандарт (Windows). Microsoft не планирует переносить .NET на другие платформы в обозримом будущем. Свободная версия — Mono покажет, насколько мощен этот продукт.

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

Вывод сделанный автором: фанаты Open Source могут склониться к wxWindows. Особенно, этот пакет порадовал продуманной концепцией и доступной документацией.

Страница отзывов

У каждой заметки есть страница отзывов. На этой странице вы можете оставить свой комментарий или просмотреть комментарии других читателей

Webpages maintained by the LinuxFocus Editor team
© Michael Tschater
«some rights reserved» see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:

de —> — : Michael Tschater
de —> en: Jürgen Pohl
en —> ru: Лебедев Александр Сергеевич

2004-11-22, generated by lfparser version 2.50

Источник

Читайте также:  Как узнать местоположение kali linux
Оцените статью