Passare da ActionScript a JavaScript, suggerimenti per scrivere il codice?

1

Sono abbastanza tranquillo con l'uso di actionscript3 e flash. Ho anche qualche esperienza con Java. Ma di recente ho iniziato a imparare JavaScript e node.js. Alla fine voglio creare un gioco 3d in threejs, ma per ora voglio semplicemente fare un'applicazione di chat.

Voglio prendere l'abitudine di usare JavaScript. Sfortunatamente, trovo molto difficile iniziare a usare JavaScript. Le difficoltà che sto affrontando sono

  • Non vengono visualizzati suggerimenti per metodi e proprietà diversi, come nel caso dell'IDE di Eclipse e IDE di Flash Builder. Come quando premi punto dopo oggetto, mostra tutti i metodi e le proprietà relative a quell'oggetto e diventa davvero facile vedere quali sono i parametri e quali sono i requisiti necessari per essere passati.

  • Come organizzare il codice? In ActionScript3, potevo semplicemente creare classi diverse in pacchetti diversi. Potrei quindi importare e usare quelle classi in un unico file principale. Come funziona in JavaScript?

  • Funzioni. Ho visto persone utilizzare le funzioni anonime in javascript. Ma sono costretto a scrivere funzioni esterne come sono abituato a farlo. Cosa c'è di meglio nel flusso di lavoro JavaScript? Che cosa consigli?

  • Come viene eseguito il codice all'interno di un file HTML? Quindi, se ho diversi% tag di% co_de e dichiaro una variabile in uno di essi, i tag sotto e sopra possono accedere a quella variabile?

posta Joe Slater 05.03.2013 - 19:22
fonte

4 risposte

1

Autocompletion

Javascript è un linguaggio dinamico ed è impossibile avvicinarsi a ciò che hai in Actionscript o Java. Accetta solo ciò che il tuo IDE (WebStorm per esempio) potrebbe suggerirti. Questo vale per qualsiasi linguaggio interpretato.

How to organize code?

Dai un'occhiata a requirejs o a node.js modulo richiede funzione.

Anonymous functions.

Sì, usali. Javascript è molto basato sulle funzioni quindi dovresti solo accettare quella parte. Qui è un ottimo punto di partenza.

Several tags and I declare a variable in one of them, can the tags below it and above it access that variable?

No, solo tag sotto di esso. Prova questo:

<body>
   <script> console.log(x); </script>
   <script> var x = 1; </script>
</body>

La console stampa "x non è definito".

    
risposta data 06.03.2013 - 15:10
fonte
1

Il mio suggerimento è di dare un'occhiata a Haxe . Dovresti utilizzare la versione stabile (2.10) per ora, poiché la versione 3 è solo in fase RC e molti IDE e librerie di terze parti non hanno ancora il supporto completo.

Haxe dovrebbe essere abbastanza familiare a te come sviluppatore di ActionScript. Il modo in cui scrivere un'applicazione sarebbe creare markup e quindi interrogare i nodi a cui si desidera aggiungere un comportamento dinamico e manipolarli.

Per quanto riguarda gli IDE, il sito web contiene un elenco completo . Se sei su Windows, allora sicuramente vorrai usare FlashDevelop. Ha un modello di progetto per haxe / js per iniziare.

Potresti anche essere interessato a dare un'occhiata a NME , un ambizioso progetto ora supportato da BlackBerry, che ti consente di utilizzare Flash Player API su circa ogni piattaforma.

Ti suggerisco di unirti al gruppo Google o al canale IRC in caso di problemi. La comunità è molto attiva e amichevole.

Devo sottolineare che c'è un numero intero di alternative che potresti voler considerare (hanno tutte una somiglianza di base con AS3):

Personalmente, preferisco Haxe a tutti loro, perché è più ricco di funzionalità e non è limitato a JavaScript, ma le tue esigenze potrebbero essere diverse.

    
risposta data 05.03.2013 - 20:02
fonte
1

No suggestions for different methods and properties pop up, like they do in the Eclipse IDE and Flash Builder IDE. Like when you press dot after object, it shows all the methods and properties relating to that object and it becomes really easy to see what the parameters are and needed to be passed and stuff.

Questa non è la mia tazza di tè, ma sono sicuro che ci sono plugin di Eclipse che possono fare questo in qualche misura per JavaScript. A causa della natura delle funzioni e del modello a oggetti in JavaScript, sarebbe molto più difficile farlo in tutti i casi rispetto a un linguaggio come Java.

How to organize code? In ActionScript3, I could simply make different classes in different packages. I could then import and use those classes in one main file. How does it work in JavaScript?

Controlla RequireJS . Per quanto ne so, è il metodo più comunemente accettato per la formattazione di "moduli" JavaScript (che sono un idioma JavaScript).

Functions. I have seen people use anonymous functions in javascript. But I am compelled to write external functions as I am in the habit of it. What is better in JavaScript workflow? What do you advice?

Puoi scrivere un sacco di JavaScript senza avere per ricorrere a funzioni anonime, ma le funzioni anonime rendono più semplice. Penso che questo sia qualcosa che puoi imparare in tempo.

How is code executed within a HTML file? So if I have several tags and I declare a variable in one of them, can the tags below it and above it access that variable?

I tag sotto avranno accesso a quella variabile. Il codice viene eseguito linearmente e l'ambito di JavaScript è semplice, limitato e spesso criticato (ma efficiente se si conoscono le avvertenze).

    
risposta data 05.03.2013 - 22:04
fonte
0

Per IDE: s considera di usare qualcosa che abbia un buon supporto per il completamento automatico come Visual Studio, aptana o webstorm. Questi renderanno la tua vita molto più facile.

Per le strutture classiche si consideri il modello del modulo.

link

Dai un'occhiata ai buoni pezzi di Douglas Crockfords e forse dai un'occhiata ad alcuni libri su modelli javascript.

Perché non ci sono classi non significa che non ci sia alcun bene soluzioni per organizzare il codice.

    
risposta data 06.03.2013 - 11:36
fonte

Leggi altre domande sui tag