los lenguajes de la web
DESCRIPTION
TRANSCRIPT
![Page 1: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/1.jpg)
![Page 2: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/2.jpg)
“Los lenguajes de la web”;
Roberto Luis Bisbé - @rlbisbe
![Page 3: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/3.jpg)
![Page 4: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/4.jpg)
¿Qué hay en la web?
Frontend HTML
CSS
Javascript
Flash
Silverlight
Applets…
Backend PHP
Java EE
.NET
Python
Ruby
Scala
Clojure…
Datos *SQL
Oracle
XML
JSON
![Page 5: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/5.jpg)
¿De qué vamos a hablar?
Lenguajes de programación menos “serios”
Formatos de marcado
Formatos de datos
![Page 6: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/6.jpg)
PROGRAMACIÓN
![Page 7: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/7.jpg)
Características comunes
Dinámicos
Orientados a objetos
Licencias Open Source
Comunidad
![Page 8: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/8.jpg)
Javascript
Nada que ver con Java
Frameworks (jQuery, Prototype, Mootools)
Implementación en los navegadores web
Usado por: – Todo el mundo…
![Page 9: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/9.jpg)
Client-side javascript: Manejo del DOM
function notEmpty(){ var myTextField = document.getElementById('myText'); if(myTextField.value === "") alert(“Introduzca un valor en el campo”) }
<input type='text' id='myText' /> <input type=’button’ onclick=’notEmpty()’ value=Click’/>
![Page 10: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/10.jpg)
Server-side Javascript:
var http = require('http'); http.createServer(function (request, response) { response.writeHead(
200, {'Content-‐Type': 'text/plain'} );
response.end('Hello World\n'); }).listen(8000); console.log('Server running at http://localhost:8000/');
demo
![Page 11: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/11.jpg)
Multiparadigma
Soporte para bibliotecas científicas
Usado por: – Instagram
– SageMath
![Page 12: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/12.jpg)
#!/usr/bin/env python import sys import os def main(): i = open('in.txt') o = open('out.php','w') o.write("<?php $data = array(\n") counter = 1 for line in i: data = line.split("\n") o.write( str(counter) + '=> "' + data[0] + '",\n') counter +=1; o.write(");\n?>") if __name__ == '__main__': main()
![Page 13: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/13.jpg)
Alta abstracción y legibilidad Multiples frameworks (Rails, Sinatra) Sistema de paquetes (gemas)
Usado por: – GitHub
![Page 14: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/14.jpg)
class Anfitrion def initialize(nombre = "Mundo") @nombre = nombre end def decir_hola puts "Hola #{@nombre}" end def decir_adios puts "Adiós #{@nombre}, vuelve pronto." end end
demo
![Page 15: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/15.jpg)
Programación funcional Rendimiento++ Compatible con bibliotecas java y C# • Quien lo usa? – Twitter – foursquare
![Page 16: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/16.jpg)
def qsort: List[Int] => List[Int] = { case Nil => Nil case pivot :: tail => val (smaller, rest) = tail.partition(_ < pivot) qsort(smaller) ::: pivot :: qsort(rest) }
![Page 17: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/17.jpg)
Alternativa en Java import java.io.*; import java.util.*; public class QuickSort { public static void swap (int A[], int x, int y) { int temp = A[x]; A[x] = A[y]; A[y] = temp; } public static int partition(int A[], int f, int l) { int pivot = A[f];
while (f < l) { while (A[f] < pivot) f++; while (A[l] > pivot) l-‐-‐; swap (A, f, l); } return f; } public static void Quicksort(int A[], int f, int l) { if (f >= l) return; int pivot_index = partition(A, f, l); Quicksort(A, f, pivot_index); Quicksort(A, pivot_index+1, l); }
![Page 18: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/18.jpg)
MARCADO
![Page 19: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/19.jpg)
!!! %head %title BoBlog %link{"rel" => "stylesheet", "href" => "main.css", "type" => "text/css"} %body #header %h1 BoBlog %h2 Blog de Bob #content -‐ @entries.each do |entry| .entry %h3.title= entry.title %p.date= entry.posted.strftime("%A %d de %B de %Y") %p.body= entry.body #footer %p
![Page 20: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/20.jpg)
Razor
<ul> @for (var i = 0; i < 5; i++) { <li>@i</li> } </ul> @{ var name = “Gilberto Salazar”; <div> Nombre: @name </div> }
![Page 21: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/21.jpg)
DATOS
![Page 22: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/22.jpg)
JSON {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }}
demo
![Page 23: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/23.jpg)
Alternativa en XML
<menu id="file" value="File"> <popup> <menuitem value="New" onclick="CreateNewDoc()" /> <menuitem value="Open" onclick="OpenDoc()" /> <menuitem value="Close" onclick="CloseDoc()" /> </popup> </menu>
![Page 24: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/24.jpg)
Recursos de aprendizaje
• Javascript – http://www.codecademy.com/courses – http://nodejs.org/
• Python
– http://docs.python.org/tutorial/
• Ruby – http://www.ruby-lang.org/es/documentation/quickstart/
• Scala – http://www.scala-lang.org/docu/files/ScalaByExample.pdf
![Page 25: Los lenguajes de la web](https://reader034.vdocuments.net/reader034/viewer/2022051514/549821a9ac7959092e8b5567/html5/thumbnails/25.jpg)
Gracias
http://rlbisbe.net