SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
“Los	
  lenguajes	
  	
  
  de	
  la	
  web”;	
  
  Roberto Luis Bisbé - @rlbisbe
¿Qué hay en la web?
Frontend        Backend      Datos
  HTML            PHP          *SQL
  CSS             Java EE      Oracle
  Javascript      .NET         XML
  Flash           Python       JSON
  Silverlight     Ruby
  Applets…        Scala
                  Clojure…
¿De qué vamos a hablar?

Lenguajes de programación menos “serios”

Formatos de marcado

Formatos de datos
PROGRAMACIÓN
Características comunes

Dinámicos

Orientados a objetos

Licencias Open Source

Comunidad
Javascript

Nada que ver con Java

Frameworks (jQuery, Prototype, Mootools)

Implementación en los navegadores web



Usado por:
   –  Todo el mundo…
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’/>	
  
Server-side Javascript:

var	
  http	
  =	
  require('http');	
  
	
  	
  	
  	
  http.createServer(function	
  (request,	
  response)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  response.writeHead(	
  
         	
   	
   	
   	
   	
  200,	
  	
  
         	
   	
   	
   	
   	
  {'Content-­‐Type':	
  'text/plain'}	
  
         	
   	
   	
   	
  );	
  
	
  	
  	
  	
  	
  	
  	
  	
  response.end('Hello	
  Worldn');	
  
	
  	
  	
  	
  }).listen(8000);	
  
	
  
console.log('Server	
  running	
  at	
  http://localhost:8000/');	
  



                                                                            demo
Multiparadigma

Soporte para bibliotecas científicas



Usado por:
   –  Instagram
   –  SageMath
#!/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()	
  
Alta abstracción y legibilidad
Multiples frameworks (Rails, Sinatra)
Sistema de paquetes (gemas)

Usado por:
  –  GitHub
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
Programación funcional
Rendimiento++
Compatible con bibliotecas java y C#

•  Quien lo usa?
  –  Twitter
  –  foursquare
def	
  qsort:	
  List[Int]	
  =>	
  List[Int]	
  =	
  {	
  
	
  	
  case	
  Nil	
  =>	
  Nil	
  
	
  	
  case	
  pivot	
  ::	
  tail	
  =>	
  
	
  	
  	
  	
  val	
  (smaller,	
  rest)	
  =	
  tail.partition(_	
  <	
  pivot)	
  
	
  	
  	
  	
  qsort(smaller)	
  :::	
  pivot	
  ::	
  qsort(rest)	
  
}	
  
	
  
Alternativa en Java
import	
  java.io.*;	
                                                     	
  	
  	
  	
  	
  	
  while	
  (f	
  <	
  l)	
  
import	
  java.util.*;	
                                                   	
  	
  	
  	
  	
  	
  {	
  
	
                                                                         	
  	
  	
  	
  	
  	
  	
  	
  	
  while	
  (A[f]	
  <	
  pivot)	
  f++;	
  
public	
  class	
  QuickSort	
                                             	
  	
  	
  	
  	
  	
  	
  	
  	
  while	
  (A[l]	
  >	
  pivot)	
  l-­‐-­‐;	
  
{	
                                                                        	
  	
  	
  	
  	
  	
  	
  	
  	
  swap	
  (A,	
  f,	
  l);	
  
	
  	
  	
  public	
  static	
  void	
  swap	
  (int	
  A[],	
  int	
  x,	
  
                                                                           	
  	
  	
  	
  	
  	
  }	
  
int	
  y)	
                                                                	
  	
  	
  	
  	
  	
  return	
  f;	
  
	
  	
  	
  {	
                                                            	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  int	
  temp	
  =	
  A[x];	
                        	
  
	
  	
  	
  	
  	
  	
  A[x]	
  =	
  A[y];	
                               	
  	
  	
  public	
  static	
  void	
  Quicksort(int	
  A[],	
  
	
  	
  	
  	
  	
  	
  A[y]	
  =	
  temp;	
                               int	
  f,	
  int	
  l)	
  
	
  	
  	
  }	
                                                            	
  	
  	
  {	
  
	
                                                                         	
  	
  	
  	
  	
  	
  if	
  (f	
  >=	
  l)	
  return;	
  
public	
  static	
  int	
  partition(int	
  A[],	
  int	
  f,	
            	
  	
  	
  	
  	
  	
  int	
  pivot_index	
  =	
  partition(A,	
  f,	
  l);	
  
int	
  l)	
                                                                	
  	
  	
  	
  	
  	
  Quicksort(A,	
  f,	
  pivot_index);	
  
	
  	
  	
  {	
                                                            	
  	
  	
  	
  	
  	
  Quicksort(A,	
  pivot_index+1,	
  l);	
  
	
  	
  	
  	
  	
  	
  int	
  pivot	
  =	
  A[f];	
                       	
  	
  	
  }	
  
MARCADO
!!!	
  
%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	
  
Razor
<ul>	
  	
  	
  	
  	
  
	
  	
  	
  	
  @for	
  (var	
  i	
  =	
  0;	
  i	
  <	
  5;	
  i++)	
  
	
  	
  	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  <li>@i</li>	
  
	
  	
  	
  	
  }	
  	
  	
  	
  	
  
</ul>	
  
	
  
@{	
  
	
  	
  	
  var	
  name	
  =	
  “Gilberto	
  Salazar”;	
  
	
  	
  	
  <div>	
  
	
  	
  	
  	
  	
  Nombre:	
  @name	
  
	
  	
  	
  </div>	
  
}	
  
DATOS
JSON
	
  {"menu":	
  {	
  
	
  	
  	
  "id":	
  "file",	
  
	
  	
  	
  "value":	
  "File",	
  
	
  	
  	
  "popup":	
  {	
  
	
  	
  	
  	
  	
  "menuitem":	
  [	
  
	
  	
  	
  	
  	
  	
  	
  {"value":	
  "New",	
  "onclick":	
  "CreateNewDoc()"},	
  
	
  	
  	
  	
  	
  	
  	
  {"value":	
  "Open",	
  "onclick":	
  "OpenDoc()"},	
  
	
  	
  	
  	
  	
  	
  	
  {"value":	
  "Close",	
  "onclick":	
  "CloseDoc()"}	
  
	
  	
  	
  	
  	
  ]	
  
	
  	
  	
  }	
  
	
  }}	
  



                                                                                          demo
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>	
  
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
Gracias

http://rlbisbe.net

Weitere ähnliche Inhalte

Andere mochten auch

Windows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETWindows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETRoberto Luis Bisbé
 
Javascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OSJavascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OSRoberto Luis Bisbé
 
Windows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaWindows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaRoberto Luis Bisbé
 
Tres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraTres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraRoberto Luis Bisbé
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorRoberto Luis Bisbé
 
Una visión multiplataforma con aspnet v next
Una visión multiplataforma con aspnet v nextUna visión multiplataforma con aspnet v next
Una visión multiplataforma con aspnet v nextEduard Tomàs
 
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Roberto Luis Bisbé
 

Andere mochten auch (8)

Windows phonesessions
Windows phonesessionsWindows phonesessions
Windows phonesessions
 
Windows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETWindows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NET
 
Javascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OSJavascript vuela en primera clase con Firefox OS
Javascript vuela en primera clase con Firefox OS
 
Windows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaWindows 8 Universidad de Valencia
Windows 8 Universidad de Valencia
 
Tres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraTres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carrera
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exterior
 
Una visión multiplataforma con aspnet v next
Una visión multiplataforma con aspnet v nextUna visión multiplataforma con aspnet v next
Una visión multiplataforma con aspnet v next
 
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
 

Ähnlich wie Los lenguajes de la web

Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Rafael Bermúdez Míguez
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++die_dex
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scaladhaat
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1wozgeass
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swiftbetabeers
 
Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Germán Ferrari
 
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptxINTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptxRodmanCevallos1
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es VietnamAlex Casquete
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en JavaManuel Antonio
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQueryDanae Aguilar Guzmán
 

Ähnlich wie Los lenguajes de la web (20)

Pensando funcionalmente
Pensando funcionalmentePensando funcionalmente
Pensando funcionalmente
 
Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)Dart como alternativa a TypeScript (Codemotion 2016)
Dart como alternativa a TypeScript (Codemotion 2016)
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Asp vNext Is Comming
Asp vNext Is CommingAsp vNext Is Comming
Asp vNext Is Comming
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
JAVA.PPT
JAVA.PPTJAVA.PPT
JAVA.PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 
C ++
C ++C ++
C ++
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Taller II Coreis Python 13112009
Taller II Coreis Python 13112009Taller II Coreis Python 13112009
Taller II Coreis Python 13112009
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 
Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptxINTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es Vietnam
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en Java
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 

Mehr von Roberto Luis Bisbé

DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIDotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIRoberto Luis Bisbé
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasRoberto Luis Bisbé
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneRoberto Luis Bisbé
 
Desarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMDesarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMRoberto Luis Bisbé
 
Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Roberto Luis Bisbé
 
Fundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesFundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesRoberto Luis Bisbé
 

Mehr von Roberto Luis Bisbé (12)

Desarrollo Full Stack UAM.net
Desarrollo Full Stack UAM.netDesarrollo Full Stack UAM.net
Desarrollo Full Stack UAM.net
 
Scala desde c# y JavaScript
Scala desde c# y JavaScriptScala desde c# y JavaScript
Scala desde c# y JavaScript
 
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIDotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincheras
 
APIs REST
APIs RESTAPIs REST
APIs REST
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows Phone
 
Desarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMDesarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPM
 
Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8
 
Hardcore PHP
Hardcore PHPHardcore PHP
Hardcore PHP
 
El patrón MVC
El patrón MVCEl patrón MVC
El patrón MVC
 
Social Media
Social MediaSocial Media
Social Media
 
Fundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesFundamentos de sitios web accesibles
Fundamentos de sitios web accesibles
 

Kürzlich hochgeladen

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Kürzlich hochgeladen (15)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Los lenguajes de la web

  • 1.
  • 2. “Los  lenguajes     de  la  web”;   Roberto Luis Bisbé - @rlbisbe
  • 3.
  • 4. ¿Qué hay en la web? Frontend Backend Datos HTML PHP *SQL CSS Java EE Oracle Javascript .NET XML Flash Python JSON Silverlight Ruby Applets… Scala Clojure…
  • 5. ¿De qué vamos a hablar? Lenguajes de programación menos “serios” Formatos de marcado Formatos de datos
  • 7. Características comunes Dinámicos Orientados a objetos Licencias Open Source Comunidad
  • 8. Javascript Nada que ver con Java Frameworks (jQuery, Prototype, Mootools) Implementación en los navegadores web Usado por: –  Todo el mundo…
  • 9. 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’/>  
  • 10. Server-side Javascript: var  http  =  require('http');          http.createServer(function  (request,  response)  {                  response.writeHead(            200,              {'Content-­‐Type':  'text/plain'}          );                  response.end('Hello  Worldn');          }).listen(8000);     console.log('Server  running  at  http://localhost:8000/');   demo
  • 11. Multiparadigma Soporte para bibliotecas científicas Usado por: –  Instagram –  SageMath
  • 12. #!/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()  
  • 13. Alta abstracción y legibilidad Multiples frameworks (Rails, Sinatra) Sistema de paquetes (gemas) Usado por: –  GitHub
  • 14. 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
  • 15. Programación funcional Rendimiento++ Compatible con bibliotecas java y C# •  Quien lo usa? –  Twitter –  foursquare
  • 16. def  qsort:  List[Int]  =>  List[Int]  =  {      case  Nil  =>  Nil      case  pivot  ::  tail  =>          val  (smaller,  rest)  =  tail.partition(_  <  pivot)          qsort(smaller)  :::  pivot  ::  qsort(rest)   }    
  • 17. Alternativa en Java import  java.io.*;              while  (f  <  l)   import  java.util.*;              {                      while  (A[f]  <  pivot)  f++;   public  class  QuickSort                    while  (A[l]  >  pivot)  l-­‐-­‐;   {                    swap  (A,  f,  l);        public  static  void  swap  (int  A[],  int  x,              }   int  y)              return  f;        {        }              int  temp  =  A[x];                A[x]  =  A[y];        public  static  void  Quicksort(int  A[],              A[y]  =  temp;   int  f,  int  l)        }        {                if  (f  >=  l)  return;   public  static  int  partition(int  A[],  int  f,              int  pivot_index  =  partition(A,  f,  l);   int  l)              Quicksort(A,  f,  pivot_index);        {              Quicksort(A,  pivot_index+1,  l);              int  pivot  =  A[f];        }  
  • 19. !!!   %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  
  • 20. Razor <ul>                  @for  (var  i  =  0;  i  <  5;  i++)          {                  <li>@i</li>          }           </ul>     @{        var  name  =  “Gilberto  Salazar”;        <div>            Nombre:  @name        </div>   }  
  • 21. DATOS
  • 22. JSON  {"menu":  {        "id":  "file",        "value":  "File",        "popup":  {            "menuitem":  [                {"value":  "New",  "onclick":  "CreateNewDoc()"},                {"value":  "Open",  "onclick":  "OpenDoc()"},                {"value":  "Close",  "onclick":  "CloseDoc()"}            ]        }    }}   demo
  • 23. 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>  
  • 24. 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