| Традиционно приложения делят на две большие группы:
- консольные, ввод и вывод информации в которых производится при помощи стандартных потоков ввода (cin в C++ или stdin в С), поток вывода (cout в С++ или stdout в С) и поток ошибок (cerr в C++ или stderr в С). Стандартные потоки открываются автоматически при запуске программы и связаны по умолчанию с монитором. Хотя вывод может быть перенаправлен в файл (или из файла) как средствами операционной системы (>>, <<, >, <), так и средствами C/C++ (с использованием функции freopen() - раскрыть мысль). Взаимодействие с программой сводится к передаче параметров (через аргументы функции main() - раскрыть мысль) и выдачи программой текстовой и символьной информации через поток вывода или ошибок. Одним из недостатков консольных приложений считается необходимость ввода команд, достоинством - лёгкое встраивание в скрипты и автоматизация действий. В графических операционных системах (Windows, Mac), консольные программы хоть и играют достаточно важную роль, но практически не развиваются. Широкое развитие консольные программы получили в UNIX-подобных операционных системах, где консольные инструменты развиваются и совершенствуются до сих пор (развить мысль - роль и место Linux в индустрии).
- оконные приложения позволяют выводить информацию посредством растровых изображений с интенсивным использованием событийной модели. Историческая справка - Xerox, Apple (Lisa, Macintosh), Microsoft (Windows), UNIX (Window X) - развить мысль. В настоящий момент используется два типа графических операционных систем: клиент-серверная (Window X) - приложение использует запрос к серверу Window X нарисовать что-то в определённой области и графическое ядро (Windows) - программа взаимодействует с операционной системой посредством Windows API, выступая по сути частью операционной системы. Остановимся на оконных приложениях Windows. Точкой входа выступает функция WinMain() - раскрыть мысль, всё рассматривается как окно, которое может быть главным и дочерним (элементы управления). При создании окна регистрируется функция окна, где происходит обработка событий. События - раскрыть мысль. Разработка при помощи Windows API требует определённых усилий и выполнения рутинных операций, поэтому было разработано несколько библиотек-обёрток, облегчающих построение Windows-приложений. Среди них следует отметить разработку Microsoft - MFC (очень сильно перекликается с API) и разработку Borland - VCL - более удобная, но менее гибкая система построения оконных приложений. В последние годы под Windows получает популярность платформа .NET, в которой построением приложений занимается интерпретатор байт-кода (раскрыть мысль) - это позволяет ещё быстрее строить оконные приложения (недостаток - несовместимость и необходимость установки среды исполнения .NET-приложений).
Далее описать кратенько ключевые элементы управления графического интерфейса - текстовые области, изображения, кнопки, полосы прокрутки и т.д. и т.п.
PS Собственно тут есть о чём порассказать... | |