Home >Technology >Web 2016 (05/13) Programare Web – Dezvoltarea aplica›iilor Web via Node.js

Web 2016 (05/13) Programare Web – Dezvoltarea aplica›iilor Web via Node.js

Date post:23-Feb-2017
Category:
View:152 times
Download:0 times
Share this document with a friend
Transcript:
  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/Tehnologii Web

    programare Web

    JavaScript la nivel de server Node.js

    (aspecte eseniale)

    avansat

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Cine a vzut vreodat o bijuterie frumos cizelatde bijutier cu ajutorul ciocanului?

    Jan Amos Comenius

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Inventat de Brendan Eich (1995)denumit iniial Mocha, apoi LiveScript

    Oferit n premier de browser-ul Netscape Navigator

    Adaptat de Microsoft: JScript (1996)

    Standardizat ca ECMAScript: ECMA-262 (1997)

    www.w3.org/community/webed/wiki/A_Short_History_of_JavaScript

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    ECMAScript

    versiunea standardizat n vigoare: 5.1 (2011)www.ecma-international.org/publications/standards/Ecma-262.htm

    versiunea cea mai recent: 6.0 ES6 (ECMAScript 2015)git.io/es6features

    referina de baz: https://developer.mozilla.org/JavaScript

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Limbaj de tip script (interpretat)

    destinat s manipuleze, s automatizezei s integreze funcionalitile

    oferite de un anumit sistem

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Limbaj de tip script (interpretat)

    nu necesit intrri/ieiri n mod implicit

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Adopt diverse paradigme de programare

    imperativ

    la C

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Adopt diverse paradigme de programare

    funcional

    calculfuncii anonime, nchideri (closures),

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Adopt diverse paradigme de programare

    pseudo-obiectual

    via prototipuri (obiectele motenesc alte obiecte, nu clase)

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Adopt diverse paradigme de programare

    dinamic

    variabilele i pot schimba tipul pe parcursul rulrii programului

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Cum putem executa programele JavaScript?

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Mediu de execuie (host-environment)

    navigator Web

    permite rularea de aplicaii Web la nivelul unei platforme(un sistem de operare)

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Mediu de execuie (host-environment)

    navigator Web

    permite rularea de aplicaii Web la nivelul unei platforme(un sistem de operare)

    inclusiv pe dispozitive mobile (Android, iOS, Fire OS (Kindle Fire), Windows Phone,),

    console de jocuri, smart TV i altele

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Mediu de execuie (host-environment)

    navigator Web

    injectarea de cod JavaScriptn documentele HTML via elementul

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Mediu de execuie (host-environment)

    navigator Web

    injectarea de cod JavaScriptn documentele HTML via elementul

    cod extern referit printr-un URL vs. cod inclus direct n pagina Web

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Mediu de execuie (host-environment)

    independent de navigatorul Web

    platforme de dezvoltare de aplicaii distribuite: Node.jsservere de baze de date e.g., Apache CouchDB

    componente ale sistemului de operareaplicaii de sine-stttoare e.g., Adobe Creative Suite

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Cuvinte rezervate:

    break else new var case finally return void catch

    for switch while continue function this with default

    if throw delete in try do instanceof typeof

    caracteristici: sintaxa

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Alte cuvinte rezervate:

    abstract enum int short boolean export interface

    static byte extends long super char final native

    synchronized class float package throws const

    goto private transient debugger implements

    protected volatile double import public

    caracteristici: sintaxa

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Number

    reprezentare n dubl precizie

    stocare pe 64 bii standardul IEEE 754

    caracteristici: tipuri de date

    developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Number

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    String

    secvene de caractere Unicode

    fiecare caracter ocup 16 bii (UTF-16)

    caracteristici: tipuri de date

    developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/String

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Boolean

    expresii ce se pot evalua ca fiind true/false

    caracteristici: tipuri de date

    developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Boolean

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Object

    aproape totul e considerat ca fiind obiect,inclusiv funciile

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Null

    semnific nicio valoare

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Undefined

    are semnificaia nicio valoare asignat nc

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Nu exist valori ntregi

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Nu exist valori ntregi

    convertirea unui ir n numr: parseInt ()

    parseInt ("123") 123parseInt ("11", 2) 3

    caracteristici: tipuri de date

    indic bazade numeraie

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Valoarea NaN (not a number)

    parseInt ("Salut") NaNisNaN (NaN + 3) true

    valori speciale:Infinity

    Infinity

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    irurile sunt obiecte

    "Salut".length 5

    un caracter reprezint un ir de lungime 1

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Valorile 0, "", NaN, null, undefinedsunt interpretate ca fiind false

    !!234 true

    caracteristici: tipuri de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Variabilele se declar cu var

    var marime;

    var numeAnimal = "Tux";

    variabilele declarate fr valori asignate, se consider undefined

    caracteristici: variabile

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Dac nu se folosete var,atunci variabila este considerat global

    de evitat aa ceva!

    caracteristici: variabile

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Similari celor din C:

    pentru numere: + * / %testare: == === != !== ?:asignare: += = *= /= %=

    incrementare i decrementare: ++ logici: ! && ||

    concatenare de iruri: "Java" + "Script" "JavaScript"

    caracteristici: operatori

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Conversia tipurilor se face din zbor (dinamic)

    "3" + 4 + 5 3453 + 4 + "5" 75

    adugnd un ir vid la o expresie,o convertim pe aceasta la string

    caracteristici: operatori

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Egalitatea valorilor se testeaz cu == i !=

    1 == true true

    a se folosi: 1 === true false

    caracteristici: operatori

    inhib conversiatipurilor de date

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Aflarea tipului unei expresii: operatorul typeoftypeof "Tux" string

    caracteristici: operatori

    operand rezultat

    undefined 'undefined'

    null 'object'

    de tip Boolean 'boolean'

    de tip Number 'number'

    de tip String 'string'

    Function 'function'

    orice alte valori 'object'

  • Dr.

    Sab

    in B

    ura

    ga

    profs.in

    fo.uaic.ro/~busa

    co/

    Testare: if else, switchpentru switch, sunt permise expresii la fiecare case

    (testarea se realizeaz cu operatorul ===)

    switch (2 + 3) { /* sunt permise ex

of 190

Embed Size (px)
Recommended