130 likes | 226 Vues
Explore the evolution of web components, from HTML to XML, CSS, JSF, Ajax, and beyond. Learn about CORBA, JVM, JavaBeans, ASP.Net, XAML, and more. Discover how technologies like SVG, XUL, and Laszlo <canvas> are shaping the modern web landscape.
E N D
Components History • OO • COM, CORBA (IDL) • JVM, JavaBeans • Supporto ai componenti nel Runtime: • Interface programming • Dynamic loading • Metadata and Reflection • .Net • XML Web Services
Web Oggi • Base: • HTML 4.01, XHTML 1.0 • CSS 2.1 • XML 1.1 • PNG • Advanced: • SVG • VML • VRML • MathML • XSLT • SMIL • XForms
Web Applications • Client Side: • Java • Javascript • DHTML, DOM • Server side: • CGI • Application servers: • JSP, ASP • XML Web Services
Web Components for Application • ASP.Net • JSF, JSF Tags (supersedes JSTL?) • ASP.Net 2.0 Web Parts
New Solutions • Mozilla Roadmap: support for • <canvas> vs SVG • Based on Cairo (a stateful user-level API with capabilities similar to the PDF imaging model) • Rendering on Postcript (stateless) • SVG declarative, DOM state • XUL • XAML
Partiti • Mozilla • XUL, Gecko, Cairo • Apache • Struts, Cocoon • Sun • J2EE, Tomcat, JBoss • Microsoft • Web Parts • XAML, Avalon
Java e Sun • EJBs have always been an exercise in configuration minutia: endless fat books on J2ee, deployment descriptors, application.xml, ejb-jar.xml, ejb refs, etcetera ad nauseum. It does not feel like the simplest thing that could possibly work.
Is HTML Broken? • The HTML development starts to bog down in a sea of complexity and alphabet soup: HTML, CSS, javascript, JSP, ASP, PHP, EJB, … Maintenance costs rise, developing the application on a page-based HTML slows to a crawl. • Struts, JSF, tapestry, velocity, JSP are all Band-Aids for a broken paradigm
Browser extensions • What-WG • Goal: to specify new technologies that make it possible to make much prettier and more usable interfaces with less dependence on complex scripts, less dependence on server-generated pages, and a more seamless user experience • Web Forms • Web Controls: • new input control types for dates, times, e-mail addresses, and numbers • a new client-side validation model • a way to mark input controls as required • a repetition model • control over form submission so that forms can be updated instead of causing the page to be replaced
LASZLO <canvas> <simplelayout spacing="5"/> <class name="box" height="100" width="100" bgcolor="red"/> <class name="borderedbox" extends="box"> <attribute name="bordersize" value="3"/> <view bgcolor="yellow" x="${parent.bordersize}" y="${parent.bordersize}" width="${parent.width - parent.bordersize*2}" height="${parent.height - parent.bordersize*2}"/> </class> <borderedbox/> <borderedbox bordersize="6"/> <borderedbox bordersize="9"/> </canvas>
Semantic Web • RDF • OWL • DAML+OIL
Web Data • XPath • XQuery