As a developer considering SWI-Prolog for a new web application, what is the recommended way to get started? How does `html//1` generate HTML? What are the key differences and limitations of using the online SWISH environment compared to a local SWI-Prolog installation for web development?
Navigate to the SWI-Prolog homepage (https://www.swi-prolog.org/). Click on the 'Get Started' link. Identify the recommended starting point for using SWI-Prolog as a (web) service. Identify the key differences between a local SWI-Prolog installation and the SWISH online version, particularly as they relate to general usage or web development. Navigate to the 'Web application tutorial' from the 'Getting Started' page. Locate the section explaining `html//1` and its purpose for generating HTML. Synthesize all gathered information to answer the prompt.
State that the recommended starting point for web development is a local installation and the 'Web application tutorial'. Explain that `html//1` is the primary tool for generating HTML in real applications, describing it as a DCG that defines HTML using 'Termerized HTML'. State that SWISH runs on a shared server and enforces a sandbox, preventing dangerous code. State that no state is maintained between queries in SWISH. State that input/output, concurrency, and many other SWI-Prolog features are not or only in a limited way supported in SWISH. State that SWISH provides a nice web-based interface for rich output (HTML, C3.js visualizations).