- HTMLayout
HTMLayout is an ultra-slim embeddable
layout engine for simpleHTML .Produced by Terra Informatica, it is given away free of charge (for both non-commercial and commercial use) but it is not
free software and has some licence requirements (not at all onerous).Main purpose of HTMLayout is to support so called Web UI in desktop applications and yet to be embeddable.
History
HTMLayout is actually as plain C wrapper for h-smile layout engine used in other Terra Informatica projects, like Sciter and moSciter. [http://www.terrainformatica.com/htmlayout/logfile.whtm Log with version history] can be fount on Terra Informatica site.
Standards compliance
HTMLayout supports a dialect of HTML. It has some problems with rendering certain non-compliant HTML markup (such as LI tags outside of lists), which could be seen as a negative, albeit minor. Its' purpose is not to be a full-featured web browser, but to be a small embeddable engine, which it does adequately, this means:
* Set of standard input elements in HTMLayout is significantly extended by specialized versions for
** Integers;
** Floating numbers with spin buttons;
** Currencies with special formatting like number group separators;
** Dates. See [http://www.terrainformatica.com/htmlayout/images/datetime.jpgdate and calendar screenshot] ;
** Hierarchical lists. See [http://www.terrainformatica.com/htmlayout/images/selects2.jpgscreenshot of various selects] ;
** Horizontal and vertical sliders
* Each DOM element can be extended by the host application by supplying so called "behavior" - set of event handlers implemented in code of the application. The behavior may define how DOM element is reacting on mouse, keyboard, focus, paint events or even custom events raised by other behaviors. See [http://www.terrainformatica.com/htmlayout/behaviors.whtm Behaviors in HTMLayout] . Behaviors are assigned to DOM elements declaratively - by using the "behavior" CSS attribute.
* CSS in HTMLayout is extended to support such features of modern UI as:
** Animation, e.g. some element may have "transition:blend" defined in CSS to present blend animation between two states;
** Drag-n-drop, e.g. CSS definition "div {accept-drop: selector(ul.cart>li);}" declares that the DIV element accepts drops of LI elements residing in ul.cart containers only.
** Implementation of CSS selectors is much more complete, than in usual web browsers.Platforms
* Windows NT/Intel x86
* Windows NT/Intel x64
* Windows CE/ARM v4
* Windows Mobile/ARM v4iSDKs, Bindings
Terra Informatica officially supports C SDK with reference C++ wrapper implementation. SDK contains examples of MFC and WTL host applications, examples of HTML markups, brief documentation.
Third party bindings include
* Ruby binding HTMR by Victor Shepelev (no new web-site found, http://rubyforge.org/projects/htmr/ is closed)
* .Net 1.1/Managed C++ binding [http://earthsideterminal.com/ HTMLayout.Net]
* .Net 2.0-3.5/C# binding by Roman Akopov as a part of general purpose [http://code.google.com/p/nabu-library/ Nabu Library] , Nabu.Forms.Html project. Supports all platforms, however mobile is known to be beta.
* No Java binding known to be available.Also, there is third party [http://htmlayoutlab.com/htmlayout-spy/ HTMLayoutSpy] tool available for Windows x86 platform. This tool does the same job as well known Microsoft Spy++, but for HTMLayout windows.
Support
Free support includes:
* English forum http://terrainformatica.com/forums/forum.php?id=2
* Russian forum http://www.rsdn.ru/forum/group/htmlayout.aspxFor large-scale development, the company offers support contracts for a fee (per developer).
Usage
Applications that are known to use HTMLayout:
*Norton Internet Security
*Norton AntiVirus Companies that are known to use HTMLayout as [http://www.terrainformatica.com/customers.whtm reported] by Terra Informatica:
* [http://symantec.com/ Symantec Corporation]
* [http://www.hp.com/ Hewlett-Packard Corporation]
* [http://www.symbol.com/ Symbol Technologies, Inc.] (is a part of Motorola company now)
* [http://www.realnetworks.com/ Real Networks, Inc.]
* [http://www.alawargroup.com/ Alawar Entertainment, Inc.]
* [http://www.evernote.com/ EverNote Corporation]
* [http://www.munnin.com/ Munnin]External links
* Terra Informatica, HTMLayout [http://www.terrainformatica.com/htmlayout/]
* HTMLayoutLab, HTMLayoutSpy [http://htmlayoutlab.com/htmlayout-spy]
* Nabu Library [http://code.google.com/p/nabu-library/]
Wikimedia Foundation. 2010.