Languages of the WEB
Jukka K. Nurminen 21.1.2013
Adver sements
• Summer internships to apply – h p://cse.aalto.fi/2013/01/15/summer- internships-in-data-communica ons-so ware-2/ • EIT master school info event on 6 February at 16 – 18 – Spend a year in Berlin, Rennes, Paris, Trento, etc. and come back to Aalto to finalize the studies and do the master’s thesis – Innova on & entrepreneurship minor included Prac cali es
• Last me Prac cali es + Introduc on – Slides available in Noppa • Assignments – GIT training – Other news – Pair forma on during break/a er lecture – Remember to signup for the assignments • Tomorrow 1st mobile lecture Languages for WEB apps Languages for WEB apps
• Programming languages – JavaScript (client side, also server side node.js) – PHP, Python, Pearl, Java, Scala, Erlang, … (server side) • Data interchange and storage languages – XML, JSON (textual) – EXI, BSON, Protobuf (binary) – (HTML) • Presenta on languages – CSS – (HTML) • Metalevel languages – XML Schema, XSLT, JSON Schema HTML
• Tags specify how the
My first page sta c pages This is my first web • But it is not easy to use this form for data transfer Server-Browser data transfer (sta c content)
Browser HTML Server 1 rendering
• When the browser just renders the page created by the server HTML works fine
Server-Browser data transfer (dynamic content) HTML => XML, JSON Browser processing & Server 1 rendering
• If the client needs to process the incoming data HTML is problematic. • E.g. in if only part of the page needs to be redisplayed (as is the case in AJAX) • This requires that the browser is able to parse and understand the data to be able to process it Server-Server data transfer
Server wants to process data coming from other servers
HTML Browser Server 1
HTML? => XML • Server1 is not interested in page presentation => HTML not optimal Server 2 • A data transfer language is needed => XML, JSON
Personalized tags needed
• HTML started with very few tags … • Language evolved, as more tags were added – forms – tables – fonts – frames ⇒ Need for personalized tags for different domains ⇒ E.g. for math, music, purchase orders, … MathML
2 • Designed to • x + 4x + 4 =0