Compilazione di più lingue e Javascript

4

Ho letto numerose volte che i linguaggi di programmazione quando si realizzano giochi o software di grandi dimensioni spesso utilizzano più lingue / script insieme. Mi sto chiedendo come funziona. Come lo compilano? Come funziona insieme?

Inoltre, come funziona anche con il web design, ad esempio in che modo combinare il loro codice HTML / CSS con il loro codice Javascript e farlo funzionare?

So che queste sono domande basilari di basso livello, ma su Google non riesco a trovare informazioni su questo. Probabilmente non sto cercando abbastanza bene.

    
posta backToBasics 28.02.2013 - 07:10
fonte

3 risposte

4

Come per il web: Il browser è la magia che lega insieme queste cose.

Ha istruzioni su come trasformare HTML in pixel sullo schermo. Ha istruzioni su come leggere CSS e applicare le regole in esso all'html, e quindi aggiornare i pixel sullo schermo. Ha istruzioni su come leggere i file javascript e fare le cose che chiede.

Il browser è un grande compilatore per tre lingue diverse, nonché un programma che può rispondere ai clic e ai tasti premuti.

In termini più generici e in altri ambienti: un'interfaccia è la chiave per consentire a lingue diverse di comunicare tra loro.

Un database è costruito e scritto usando SQL. Un programma si trova in esecuzione il database, e gli utenti possono chiedere le domande del database attraverso l'interfaccia. Un'interfaccia è un insieme di istruzioni concordate che il programma promette di provare a rispondere.

Un programma Node.js si basa sul funzionamento del nodo eseguibile e può comunicare attraverso questo al file system, ai database e a qualsiasi cosa a cui qualcuno abbia creato un'interfaccia ben definita.

Anche i programmi eseguibili "compilati" si basano ancora su un'interfaccia. Funzionano sul sistema operativo (Windows o Linux o Mac OS X, in genere) e hanno almeno un punto di accesso "principale" che il sistema operativo sa come chiamare per avviare il programma. I sistemi operativi sono solitamente scritti in linguaggio C o assembly, perché devono essere veloci.

Un compilatore come gcc prenderà il codice sorgente C e lo trasformerà in qualcosa che ha un'interfaccia riconoscibile con il tuo sistema operativo, in modo che possa essere eseguito sul tuo computer.

    
risposta data 28.02.2013 - 10:27
fonte
1

Specificamente per Javascript e sviluppo web:

Le applicazioni Web di solito consistono in almeno 4 lingue / elementi.

  1. HTML: questo è il markup che definisce la struttura della pagina
  2. CSS: è un linguaggio di stile che definisce l'aspetto della pagina
  3. Javascript (o qualcosa che compila in JS) - questo è un linguaggio di scripting che viene eseguito nel browser (IE viene eseguito sul computer client)
  4. Codice lato server - (Java, ruby, C #, python, ecc. ecc.) Di solito sul server ci sono una o più lingue.

Come funzionano tutti insieme? Il browser esegue il rendering dell'HTML / CSS e fornisce un ambiente per l'esecuzione del javascript. Il javascript può inviare richieste al server per interagire con il codice serveride.

Il codice serveride può essere compilato (Java / C #) o dinamico (python). La chiave è che non è mescolato con il codice lato client, la sua esecuzione separatamente e comunica con il codice lato client attraverso una serie di richieste e risposte.

    
risposta data 28.02.2013 - 16:09
fonte
-1

I dati sottostanti, sia per il mondo di gioco o la pagina web (HTML) contengono oggetti / elementi - personaggi, oggetti, strutture - o in caso di pagina web, elementi - DIV (scatole) e SPAN (span di testo marcati like this ).

Tutti questi elementi hanno diverse proprietà ad essi associate: aspetto, trame, posizioni, forme, comportamenti, dati dei contenuti, dati audio, qualunque cosa li renda unici. Tra queste proprietà hanno trigger (ovvero eventi - quando qualcosa accade all'oggetto, ad esempio l'utente passa il cursore su di esso o fa clic su di esso, oppure il conto alla rovescia dell'orologio raggiunge lo zero. ..) e i trigger hanno script allegati a loro.

Ora il motore è che il browser web o un programma di gioco prende quei dati e li rende . Sia che decida di trovare una parte di testo tra i segni <strike>...</strike> dovrebbe essere resa come this o se seguire la definizione di texture e modello vettoriale dovrebbe essere impostato in un ambiente di gioco, questo è qualcosa che l'utente vedere.

Ora, se l'utente esegue un'azione - ad esempio, fai clic sull'albero mentre il personaggio tiene in mano un'ascia, oppure fai clic su una casella nella pagina, se c'è un evento definito per quell'azione, il browser passerà lo script allegato a l'evento al suo motore di scripting interno ed eseguirlo come un programma. Quindi lo script può influenzare altri oggetti, come aggiungere un oggetto "pezzo di legno" all'inventario dei personaggi del giocatore, o aprire un riquadro di aiuto nella pagina.

Ovviamente c'è un oggetto speciale - il mondo, o in caso di pagine web del documento, e può avere anche eventi collegati - in particolare l'evento "caricamento completato", a cui è associato un intero gruppo di script e iniziano solo poi. (C'è ancora qualche avvertimento, ma manteniamolo semplice ora). Questo, in caso di WWW, spesso svolge il compito di ottenere tutti gli altri tipi di eventi collegati al resto della pagina web e tutti i diversi tipi di attività.

Riassunto: hai dati (dati di gioco o pagina web) e renderer (browser o motore di gioco). Visualizza i dati ed esegue azioni generiche con esso, osservando anche gli eventi. Tutti gli oggetti nei dati possono avere eventi collegati a loro e script allegati agli eventi. Quando si verifica un evento, il motore si carica ed esegue lo script.

E per quanto riguarda l'interfaccia, la pagina web o il mondo di gioco è l'ambiente e il linguaggio ha caratteristiche per interfacciarsi con quell'ambiente, ad es. modificare le proprietà di altri oggetti, creare le loro istanze o eliminarle. document.getElementById("title").style.border="solid red 3px" in javascript troverà il titolo e lo circonderà con una cornice rossa.

    
risposta data 28.02.2013 - 11:09
fonte

Leggi altre domande sui tag