LINUX.ORG.RU

tkhtml3. ACID2 тест - пройден!


0

0

Tkhtml - легкий, быстрый HTML "движок" написанный на C, как TCL-widget, позволяющий отображать веб-страницы, удовлетворяющие HTML 4.01, XHTML 1.1, CSS 2.1 стандартам.
Проект получил второе рождение год назад благодаря усилиям Dan Kennedy.
На днях были внесены изменения, которые позволили пройти знамeнитый ACID2 тест, с чем и поздравляем разработчик(а/ов;-)

>>> Подробности

★★

Проверено: grob ()

Отличная новость. Да здравствует Tcl!

eXire ★★
()

Эх, если бы в мире ничего не было кроме ACID...

svu ★★★★★
()
Ответ на: комментарий от TERRANZ

Не хотелось бы, чтобы воспринимали это сообщение "за чистую монету"
... это один из примеров, как можно одолеть этот злополучный тест.
Проeкт еще очень сырой, и реальные (не "раскрученные", как ACID2) тесты
http://www.quirksmode.org/css/contents.html проходят "с трудом" :-(

Достоинства:
- небольшой размер кода.
- используется lemon parser generator, тот же, что в sqllite
(да и люди те же).
- активно развивается, и потому не такой монстр, как gecko, khtml.
Есть шанс использовать в своем проекте.
- BSD-like лицензия.
- оргинальный концептуальный подход основанный на использовании
скриптоваого языка (в данный момент TCL, но думаю может быть и другой). Подробности:


Scope of Functionality

Tkhtml 3.0 does not provide a complete web browser widget. Instead,
flexible interfaces are provided that allow web browsers and other
applications to be constructed using Tkhtml. In broad terms, the
scope of Tkhtml 3.0 is limited to the following functions:

* Parsing of utf-8 encoded Html documents.
* Parsing of utf-8 encoded CSS stylesheets.
* Rendering parsed Html according to the parsed and default
CSS stylesheets.
* Managing the Tk window (a viewport into the currently
rendered document).

By considering the above it can be seen that in comparison to a web
browser, Tkhtml provides minimal functionality. For example, some
readers may be surprised to learn that Tkhtml contains no code
related to hyper-links. Instead, interfaces are provided so that an
application might handle hyper-links in a displayed document as follows:

1. Register for a callback when the end-user clicks on the html widget
using the standard Tk bind command.
2. When the callback is received, query the document for the leaf element
that generated the content under the pointer at the time of the click.
3. Once the leaf element is obtained, inspect it to see if the script
considers the element a hyper-link. For example, a script might check
if the element type is "A" and the "href" attribute is defined. If
the element fails the test, the script might repeat the test with all
of the leaf elements ancestor elements.
4. If the application determines that the user has clicked on a hyper-link,
it takes some application specific action.

In some ways, this minimalist approach seems somewhat perverse - the vast
majority of potential Tkhtml users would probably be happier if a complete
web browser widget were provided. Fortunately, the design of the widget's
Tcl interface is heavily influenced by the idea that a modern web browser
widget might be created. One such mega-widget, "hv3", is being developed
alongside Tkhtml and is available at the Tkhtml website. The minimalist
approach is also preferred for the following reasons:

* By providing flexible interfaces, Tkhtml allows programmers to easily
experiment with web browser interface ideas in ways that are not
currently possible.
* Embedding Tkhtml does not also embed the security concerns that plague
modern web browsers.
* Tk applications can use Html/CSS to define the presentation and layout
of application windows. Many application displays, particularly those
that resemble forms, may be more easily created using these languages
than by using either the canvas or text widgets or a geometry manager.

Valeriy_Onuchin ★★
() автор топика

Класс! Отлично, что появился движок, заточенный под современные технологии, без огромного воза кода обратной совместимости и совместимости с кривыми сайтами.

Желаю проекту успехов и процветания!

Надеюсь вскоре увидеть реальный браузер на этом движке.

VictorGr
()

терерь файрфоксу точно конец...

Tai-Pan
()
Ответ на: комментарий от AngryElf

>ACID2 - ладно, а как у него дела с тысяча и одним кривым сайтом? :-)

У него должен быть предусмотрен маленький топорик, отрубающий кривые лапки клепателей кривых сайтов :-)

magesor ★☆
()
Ответ на: комментарий от magesor

Хорошобы этот топорик использовать отдельно от движка ;)

bobrik
()

а хотите я тоже напишу браузер, который будет проходить ACID2? браузер будет состоять из трёх строчек и 1 пнгэшки. тест будет проходить независимо от запрошенного адреса.

LowLevel
()

как BSD лизензия может быть плюсом?

anonymous
()
Ответ на: комментарий от Valeriy_Onuchin

> активно развивается, и потому не такой монстр, как gecko, khtml

Если развивается активно, то значит скоро станет монстром еще большим и менее поворотливым.

andreyu ★★★★★
()
Ответ на: [::]||||||||||[::] от shimon

2shimon
> Автор, спешу уведомить, что новость является баяном

на момент "alpha7"
http://www.linux.org.ru/jump-message.jsp?msgid=1497238&lastmod=1153501584104.
acid2-test не был "преодолен".

Втичении последнего времени я активно общаюсь с Dan Kennedy (автором)
http://groups.yahoo.com/group/tkhtml/messages/283,
стараясь помочь исправить косяки. к чему призываю присоединится
тех, кому этот проект кажется перeспективным.

Думаю, что этот проeкт должен быть особенно интересен,
тем, кто занимaется встроенными системами,
и тем, кто как-то связан со скриптовыми языками (не обязательно TCL).

Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

>- активно развивается, и потому не такой монстр, как gecko, khtml.

логическая связь не прослеживается. кроме того какая монстровость в khtml? на cel-400 нормально работал. как и геко. последний тормознее, но вот на текущем amd2500+ - летает

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

anonymous
()
Ответ на: комментарий от anonymous

> Это ты вообще к чему? У тебя комплексы? Хочешь поговорить об этом?

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

LowLevel
()
Ответ на: комментарий от LowLevel

А может быть у ребят просто прямые руки?

anonymous
()
Ответ на: комментарий от anonymous

>- активно развивается, и потому не такой монстр, как gecko, khtml.

Вот только не надо ля-ля про монстроидальность....

Во первых сам делал сравнение по отжиранию памяти на нескольких

движках... Firefox, Mozilla(TestGtkEmbed), Opera(SDK), links2(-g), khtml, dillo, tkhtml3

И хочу сказать что ваш ещё сырой и ничего не умеющий tkhtml отожрал не кислое кол-во памяти (больше был только Firefox с кэшем....)

Интересно как он будет работать когда будет поддерживать (полноценно) все гугловые сервисы...

romaxa
()
Ответ на: комментарий от romaxa

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

Я привел большой кусок текста на английском (был 2ой час ночи, и лень
было переводить), который может обьяснить, почему "ACID2 тест -
пройден".

Проект имеет две части: Tkhtml widget (или просто tkhtml) и
браузер hv3, который используется для тестирования Tkhtml.

Tkhtml "сконцентрирован" на обеспечении минимальной функциональности:

* парсирует HTML документы.
* парсирует CSS stylesheets.
* создает внутреннее "HTML-дерево" отражающее структуру
HTML документа.
* отображает/отрисовывает это "HTML-дерево".


Все остальное делается "внешними" средствами в данном случае
- это hv3, написанный полностью на скриптовом языке
(представляю если это был бы php.
браузер на пых-пыхе! - "мечта пыонэров" :-)

Tkhtml НЕ делает "почти все", что делают обычные браузеры:
- resolving URL & downloading <HREF> documents
- всвозможное кэширование (DNS, документов и пр.)
- даже картинки не рисует :)
- даже менюшки и кнопки и пр. GUI элементы - не рисует
и не обслуживает.
- и т.д и т.п.



Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

> А может быть у ребят просто прямые руки?

реально - это дело рук одного человека.
сделано почти с нуля, в течение около одного года
(!!! не перевелись еще ..). никто специально ничего не точил.

Valeriy_Onuchin ★★
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

Konqueror тест конечно проходит, но индикатор загрузки продолжает крутиться. Хваленая же опера тест не проходит - ни одна версия, что мне удалось увидеть. Стоит заметить, что любимая мною лиса (в основном за ее расширяемость) этот тест не проходит тоже.

andreyu ★★★★★
()

Удачи проекту!

Только бы не получилось как часто бывает.. тысяча строк ошибок и семь мегабайтов патчей

manokur ★★
()

А можно ли использовать его без TCL? Хочу прикрутить его к приложению, графический интерфейс которого полностью сделан на HTML.

kmeaw ★★★
()
Ответ на: комментарий от andreyu

> Konqueror тест конечно проходит, но индикатор загрузки продолжает крутиться.

У меня не крутится - что я делаю не так? :)

Skull ★★★★★
()
Ответ на: комментарий от Skull

> А можно ли использовать его без TCL?

аналогичный вопрос интересует меня :о)
и я над ним работаю. Надеюсь получить желаемый результат
в течение (в одном из предыдущих постов сделал в
этом слове 3 ошибки ;0( месяца.

Valeriy_Onuchin ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.