Pyjamas

Software screenshot:
Pyjamas
Dettagli del software:
Versione: 0.7 / 0.8.1 Alpha 1
Data di caricamento: 14 Apr 15
Sviluppatore: James Tauber
Licenza: Libero
Popolarità: 0

Rating: 4.0/5 (Total Votes: 1)

Pigiama è un toolkit e libreria progettata per consentire la scrittura di applicazioni AJAX in Python. Pigiama si basa su Google GWT, che fa la stessa cosa per Java.
ike GWT, pigiami prevede la traduzione della domanda e le librerie (compresi i widget UI e classi DOM) per Javascript e l'imballaggio di tale codice Javascript.
 
Ci sono due strumenti di sviluppo di base inclusi con il pigiama. pyjs traduce il codice Python a JavaScript piedi l'albero di sintassi astratta di Python e la generazione di Javascript.
In molti casi, built-in Python tipi richiedono un'implementazione personalizzata Javascript. Ad esempio, anche se le liste Python sono simili agli array Javascript, liste Python sono convertiti a oggetti personalizzati che implementano metodi come accodamento. Questi oggetti personalizzati richiesti per la traduzione da pyjs sono definite in una libreria chiamata pyjslib.
Come GWT, pigiami viene fornito con una serie di widget UI e una biblioteca per la manipolazione DOM. Queste librerie sono scritti in Python, ma sono, come tutto il resto, tradotto in Javascript per la distribuzione.
La traduzione complessiva dei singoli componenti è gestito da costruire che crea anche il codice standard necessario. Il risultato è un insieme di html e js file che possono essere serviti da un server Web.
Ci sono altri elementi previsti che non sono stati coperti, come per esempio il codice lato server per la comunicazione in applicazioni client-server

Cosa c'è di nuovo in questa versione:.

  • sono stati aggiunti sys.stdout e sys.stderr oggetti semplici. sys.exc_info () è stato fissato a comportarsi più come Python.
  • è stato aggiunto un modulo traceback molto di base.

  • È stato aggiunto
  • oninput e onpropertychange supporto dell'evento.
  • Un problema getWidget con HtmlTable in pyjd su Windows è stato fissato.
  • è stato aggiunto parsing di documenti XML in pyjd su Windows.
  • Una opzione auto-build (monitoraggio file) è stato aggiunto al pyjsbuild.
  • è stato aggiunto pyjscompressor.py.
  • Diversi bug sono stati risolti.
  • sono stati aggiunti Diverse altre caratteristiche.

Cosa c'è di nuovo in versione 0.5p1:

  • fissi autocompletamento che solo bisogno di non-modale su PopupPanel ( grazie a lovelysystems per l'attuazione dialoghi non modali altrimenti non sarebbe possibile fissare autocompletamento)
  • Aggiunta attuazione di metaclasse & quot; tipo & quot; Funzione
  • Fatto KeyboardListener un modulo Singleton, piuttosto che avere una classe con lo stesso nome del modulo. Allo stesso modo con MouseListener, eventi e Focus.
  • Aggiunto destro cliccabile Context Menu, e ha aggiunto un esempio in kitchensink Menus.py per mostrare come impostare in su.
  • Aggiunto python-spidermonkey come una piattaforma sperimentale, proprio come pyv8run.py ora c'è pysmrun.py
  • di livello superiore variabili globali, e di alto livello funzioni, ora portata correttamente a un modulo (grazie a Jose per aver sollevato questo)
  • Le costanti stringa sono ora restituiti come istanze String () che si traduce in loro che hanno il metodo __iter__ che è stato aggiunto alla proto del tipo String base di javascript.
  • fatto TypeError ereditare da BaseException piuttosto che essere un proto javascript da Error (). TypeError può ora essere sollevato come eccezione, con un messaggio.
  • == fatto uso confronto __eq__, che __cmp__ usa condizionale, se disponibile: questo corregge bug rispetto delle liste in LibTest. sostituito un gran numero di numerico & quot; == & quot; confronti con & quot;. è & quot ;, in modo che __eq__ non venga chiamato (efficienza)
  • ha aggiunto il supporto per le chiamate args * sulle funzioni: in precedenza, una funzione di chiamata (* args) comporterebbe args essere gettato via
  • !
  • fatto Tuple propria classe, piuttosto che eredita da List, in modo che esso può essere distinto dal List. __cmp__ di un elenco con una tupla ora non correttamente.
  • ha riscritto gli esempi / libtest in modo che possano essere eseguiti in python standard (python ./LibTest.py). questo permette un confronto tra pyjs contro python standard.
  • aggiungi metodo estendere a pyjslib.List
  • aggiungere galleggiante builtins
  • aggiungere pyjamas.log basato su esempi / libtest / write.py
  • la funzione built-in registrati 'cmp'. è stato già realizzato, ma non registrati in pyjs.py
  • aggiunto un'opzione --optimize a che si traduce nella rimozione istruzioni print. questo potrebbe essere ulteriormente migliorata. es quando assert è implementato
  • fisso Mozilla & quot; Autorizzazione negata & quot; bug in DOM.isOrHasChild
  • pyjslib.Dict ora utilizzare il metodo di hash per generare chiavi interno, in modo che si possible utilizzare oggetti come chiavi, come in pitone. Per limitazioni di dicts lettura examples / libtest / DictTest.py

Cosa c'è di nuovo in versione 0.4p1:

  • Questa è una versione di patch minore pigiami 0.4p1, il compilatore Python-to-Javascript e Python Web Widgets UI Toolkit.
  • bug significativi fissi includono la funzione di HorizontalPanel remove (), la funzione di SimplePanel chiaro () e sprintf con molteplici argomenti (& quot;% s% d & quot;% (& quot; ciao & quot ;, 2) sarà ora funzionerà) Finestra di dialogo ha ora modale funzionalità (grazie a Jurgen Kartnaller).
  • HorizontalSplitPanel è stato aggiunto, anche se entrambi i pannelli orizzontali e verticali funzionano correttamente su browser basati su Mozilla, ma Safari e IE hanno bisogno di volontari per lavorare su di loro.

Cosa c'è di nuovo in versione 0.4:

  • Enhancements:
  • Aggiunto biblioteca / splitpanel.py e biblioteca / vertsplitpanel.py, con esempi / splitpanel. NOTA:. Splitpanels dovrebbero essere in ui
  • Changed ui.TabBar.insertTab () per consentire i widget da passare come testo.
  • esempi aggiunti / tabpanelwidget
  • Aggiunta gtk_converter al & quot; contrib & quot; directory (grazie a Jeremy)
  • Aggiunto biblioteca / decoratorpanel.py che comprende DecoratorPanel, DecoratedTabPanel e DecoratedTabBar. NOTA:. Queste classi dovrebbero essere in ui
  • esempi aggiunti / presentazione
  • Aggiunto il supporto per affettare con i numeri negativi.
  • esempi aggiunti / JSObject
  • Aggiunto il supporto per la modalità di debug, che può essere attivata per includere un & quot; -d & quot; opzione della riga di comando quando si chiama build.py. Con questa opzione attivata, ogni istruzione nel codice Python è circondato da un try ... except che visualizza un avviso se si verifica un'eccezione. Il messaggio di avviso contiene il testo originale sorgente Python, il numero di riga nel file sorgente Python dove si è verificato l'errore, ei dettagli dell'errore javscript che si è verificato. Questo dovrebbe semplificare notevolmente il debug del codice Pigiama.
  • Issue # 75: Aggiunto il supporto per & quot; non è None & quot; sintassi.
  • Issue # 85: Implementata la repr () funzione built-in
  • .
  • Issue # 93:. Dict.items implementati ()
  • Issue # 95:. Implementata window.prompt ()
  • Issue # 100:. Aggiunto un metodo di setPadding () per ui.CellPanel
  • Issue # 103: Implementata la enumerate () funzione built-in
  • .
  • Issue # 104: Aggiunta la possibilità di assegnare ad un elenco di variabili, ad esempio: x, y = self.metodo ()
  • Issue # 105: Implementato il min () e max () funzioni built-in
  • .
  • Issue # 88: E 'ora possibile utilizzare la getattr (funzione built-in) per ottenere un metodo, e quindi passare i parametri di questo metodo quando si chiama. C'è un nuovo esempio della & quot; esempi / & quot; directory, denominata & quot;. getattr & quot ;, che dimostra come questo può essere utilizzato
  • Issue # 111:. Aggiunto XOR e bit-shift operatori, grazie alla legith
  • Issue # 112:. Aggiunto il supporto per l'ord () e chr () funzioni built-in (! Grazie, legith)
  • Issue # 113: Supporto per i try di base ... tranne dichiarazioni. C'è anche un nuovo modulo, esempi / libtest / ExceptionTest.py, che verifica l'uso del try ... except.
  • Bug risolti:
  • Aggiunta una nuova implementazione di sprintf.
  • Issue # 86: Corretto un bug che potrebbe causare HTTPRequest crash. Grazie a finder83 da code.google.com/p/pyjamas per aiutare a trovare questo.
  • immagini standard aggiunti da utilizzare per i bordi e gli angoli di una finestra di dialogo
  • Varie modifiche ui.py e DOM.py a (parzialmente) Evento supporto di movimentazione in finestre di dialogo.
  • Risolto un bug in ui.CellFormatter.getElement (), che potrebbe causare un crash.
  • Risolto un problema con ui.FormSubmitEvent.setCancelled ()
  • Corretto errore in ui.clickDelegatePanel.onBrowserEvent (), che ha causato un crash durante l'elaborazione di un evento keyDown.
  • Changed ui.ClickDelegatePanel.onBrowserEvent () per verificare che il delegato chiave ha in realtà un & quot; onKeyDown & quot; metodo prima di chiamarlo.
  • Issue # 54: Corretto un probem con rilevamento del browser (tramite il quot &, user-agent & quot; stringa) in Internet Explorer 7.0. A quanto pare Microsoft ha deciso di cambiare la stringa user-agent in IE 7, rompendo il codice in pigiama che ha individuato il browser dell'utente.
  • codice Rimosso da DOM.init (), che stava tentando di risolvere un bug di catturare gli elementi, ma non ha funzionato.
  • Corretto un bug in ComplexPanel.insert che provocava Internet Explorer 6 per corrompere il suo modello DOM.
  • Issue # 53:. Risolto un problema con la precedenza degli operatori
  • Issue # 91: Aggiunto DOM.eventGetCurrentEvent () per recuperare l'evento attuale
  • .
  • Changed FocusWidget.onBrowserEvent () per verificare che il clic ascoltatore ha in realtà un & quot; onClick & quot; metodo prima di chiamarlo.
  • Issue # 82: Cambiato tipo di contenuto trasmesso dalla biblioteca / HTTPRequest.asyncPostImpl a & quot; application / x-www-form-urlencoded & quot; piuttosto che & quot; text / plain & quot ;. In questo modo l'oggetto HTTPRequest da utilizzare per effettuare chiamate AJAX utilizzando le richieste HTTP POST.
  • Issue # 81:. Library fisso / ui.Panel.clear ()
  • Aggiunto un foglio di stile CSS per il examples / programma di posta elettronica
  • Issue # 106: Corretto un problema in cui utilizzando una tupla come chiave dizionario prodotto risultati inaspettati
  • Issue # 107: E 'ora possibile inserire un segno più all'inizio di un letterale numerico
  • datetime.py Spostato dalla directory addons nella libreria.
  • Issue # 80: Cambiato molti degli esempi per utilizzare le nuove & quot; pigiama & quot; nome del pacchetto.
  • Risolto un problema con l'utilizzo fette negativi sulle liste (grazie, Legith).

Altri software di sviluppo James Tauber

Commenti a Pyjamas

I commenti non trovato
Aggiungi commento
Accendere le immagini!