Los lenguajes de la web
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Los lenguajes de la web

on

  • 2,219 views

 

Statistics

Views

Total Views
2,219
Views on SlideShare
808
Embed Views
1,411

Actions

Likes
0
Downloads
9
Comments
0

14 Embeds 1,411

http://robertoluis.wordpress.com 1229
http://rlbisbe.net 61
http://nelsonkewebs.blogspot.mx 47
http://labloguera.net 33
http://nelsonmanuel.blogspot.mx 24
http://nelsonkewebs.blogspot.com 6
http://flavors.me 3
http://feeds.feedburner.com 2
http://207.46.192.232 1
http://www.hanrss.com 1
http://nelsonmanuel.blogspot.com 1
http://es.flavors.me 1
http://de.flavors.me 1
http://nodeslide.herokuapp.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Los lenguajes de la web Presentation Transcript

  • 1. “Los  lenguajes     de  la  web”;   Roberto Luis Bisbé - @rlbisbe
  • 2. ¿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…
  • 3. ¿De qué vamos a hablar?Lenguajes de programación menos “serios”Formatos de marcadoFormatos de datos
  • 4. PROGRAMACIÓN
  • 5. Características comunesDinámicosOrientados a objetosLicencias Open SourceComunidad
  • 6. JavascriptNada que ver con JavaFrameworks (jQuery, Prototype, Mootools)Implementación en los navegadores webUsado por: –  Todo el mundo…
  • 7. Client-side javascript: Manejo del DOMfunction  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’/>  
  • 8. 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
  • 9. MultiparadigmaSoporte para bibliotecas científicasUsado por: –  Instagram –  SageMath
  • 10. #!/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()  
  • 11. Alta abstracción y legibilidadMultiples frameworks (Rails, Sinatra)Sistema de paquetes (gemas)Usado por: –  GitHub
  • 12. 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
  • 13. Programación funcionalRendimiento++Compatible con bibliotecas java y C#•  Quien lo usa? –  Twitter –  foursquare
  • 14. def  qsort:  List[Int]  =>  List[Int]  =  {      case  Nil  =>  Nil      case  pivot  ::  tail  =>          val  (smaller,  rest)  =  tail.partition(_  <  pivot)          qsort(smaller)  :::  pivot  ::  qsort(rest)  }    
  • 15. Alternativa en Javaimport  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];        }  
  • 16. MARCADO
  • 17. !!!  %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  
  • 18. Razor<ul>                  @for  (var  i  =  0;  i  <  5;  i++)          {                  <li>@i</li>          }          </ul>    @{        var  name  =  “Gilberto  Salazar”;        <div>            Nombre:  @name        </div>  }  
  • 19. DATOS
  • 20. JSON  {"menu":  {        "id":  "file",        "value":  "File",        "popup":  {            "menuitem":  [                {"value":  "New",  "onclick":  "CreateNewDoc()"},                {"value":  "Open",  "onclick":  "OpenDoc()"},                {"value":  "Close",  "onclick":  "CloseDoc()"}            ]        }    }}   demo
  • 21. 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>  
  • 22. 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
  • 23. Graciashttp://rlbisbe.net