bill писал(а):
решил изучить Active Oberon, и основы работы Win Aos, я думаю это самое разумное решение, чтобы приблизиться к моей цели
Я до сих пор не понимаю многого в Black Box, а в Active Oberon тоже много непонятного , но заметно эти системы похожи, это плюс.
Я хочу задать вопросы.
1. Вот модули которые импортирует Browser in Win Aos:
MODULE WebBrowser;
IMPORT
WebBrowserPanel,
Strings, KernelLog, WMGraphics, WMComponents, WMStandardComponents, WMWindowManager, WMEditors,
Modules, WMRestorable, XML, WMRectangles, WMMessages, Commands, Files;
Если в блек боксе похожие на них модули? я проверил скорей всего нет, я бы сразу использовал свои блекбоксовские модули, ато придеться переводить эти модули.
2. Вышеуказанные модули используют еше очень много других модулей, если переводить эти колоссальное количество модулей в блек бокс, придеться перевести чуть ли не всю Win Aos?
Поскольку я поверхностно знаком с этой системой, то перескажу то как я понимаю её устройство:
WinAOS - это, собственно, почти ОС, за исключением того, что работает поверх установленной ОС и поэтому в ней отсутсвуют драйвера и системные вызовы заменены. Модуль Kernel обращается к низлежащей ОС для получения её сервисов (работа с памятью и прочее). Что касается программного слоя, то он имитирует работу AOS, поэтому для работы любого приложения требуется весь набор сервисов AOS.
Так что мне не представляется возможным просто взять да и "вырвать" веб-броузер из контекста AOS.
Поэтому наиболее разумным является детальное изучение структур и операций веб-броузера, чтобы затем создать
свой броузер с минимальным набором функций. После изучения создай модули с набором сервисов, необходимых для построения веб-броузера (сеть, графика и пр.). Сделай так, чтобы лишь незначительная их часть зависела от платформы/ОС/компилятора/библиотек. Не знаю как реализована работа графики, но может имеет смысл выводить графические образы не напрямую через низлежащие API-вызовы Windows, а с помощью библиотек AGG/Cairo (векторная графика) и SDL (растровая графика).
Начни с запроса GET. Отобрази DOM-структуру полученного документа на экран. Затем пробуй добавить интеракцию с пользователем. О Джаваскрипте пока рано говорить.
Только так ты сможешь понять как строится веб-броузер.