Pyjamas

Screenshot Λογισμικό:
Pyjamas
Στοιχεία Λογισμικού:
Εκδοχή: 0.7 / 0.8.1 Alpha 1
Ανεβάστε ημερομηνία: 14 Apr 15
Προγραμματιστής: James Tauber
Άδεια: Δωρεάν
Δημοτικότητα: 26

Rating: 4.0/5 (Total Votes: 1)

Πιτζάμες είναι ένα σύνολο εργαλείων και βιβλιοθήκη σχεδιαστεί για να επιτρέπει να γράφει εφαρμογές AJAX στην Python. Πιτζάμες βασίζεται σε GWT της Google, η οποία κάνει το ίδιο πράγμα για Java.
IKE GWT, πιτζάμες περιλαμβάνει τη μετάφραση της αίτησης και των βιβλιοθηκών (συμπεριλαμβανομένων των widgets UI και τάξεις DOM) για να Javascript και τη συσκευασία των εν λόγω κώδικα Javascript.
 
Υπάρχουν δύο εργαλεία πυρήνα του έργου που περιλαμβάνεται με τις πιτζάμες. pyjs μεταφράζεται κώδικα Python να Javascript με τα πόδια το Python αφηρημένο συντακτικό δέντρο και δημιουργώντας Javascript.
Σε πολλές περιπτώσεις, built-in Python τύποι απαιτούν μια προσαρμοσμένη εφαρμογή Javascript. Για παράδειγμα, ακόμα κι αν λίστες Python είναι παρόμοια με συστοιχίες Javascript, κατάλογοι Python είναι μετατρέπονται σε προσαρμοσμένα αντικείμενα που εφαρμόζουν μεθόδους, όπως προσάρτησης. Αυτά τα προσαρμοσμένα αντικείμενα που απαιτούνται για τη μετάφραση από pyjs ορίζονται σε μια βιβλιοθήκη που ονομάζεται pyjslib.
Όπως GWT, πιτζάμες έρχεται με μια σειρά από στοιχεία του UI, καθώς και μια βιβλιοθήκη για το DOM χειραγώγηση. Αυτές οι βιβλιοθήκες γραμμένο σε Python, αλλά είναι, όπως όλα τα άλλα, που μεταφράζεται σε Javascript για ανάπτυξη.
Η συνολική μετάφραση των επιμέρους συστατικών διοικείται από κατασκευής που δημιουργεί τον απαραίτητο κώδικα στερεότυπο. Το αποτέλεσμα είναι ένα σύνολο από .html και .js αρχεία που μπορούν να εξυπηρετηθούν από ένα διακομιστή Web.
Υπάρχουν και άλλα συστατικά σχεδιάζονται και οι οποίες δεν έχουν καλυφθεί εδώ όπως τον κώδικα διακομιστή για την επικοινωνία σε εφαρμογές πελάτη-διακομιστή

Τι είναι καινούργιο σε αυτή την έκδοση:.

  • προστέθηκαν Απλή sys.stdout και sys.stderr αντικείμενα. sys.exc_info () ορίστηκε να συμπεριφέρονται περισσότερο σαν Python.
  • Μια πολύ βασική μονάδα traceback προστέθηκε.

  • Προστέθηκε
  • oninput και onpropertychange υποστήριξη συμβάν.
  • Ένα πρόβλημα getWidget με HTMLTable υπό pyjd στα Windows ορίστηκε.
  • parsing των εγγράφων XML κάτω pyjd στα Windows προστέθηκε.
  • Η επιλογή αυτόματης κατασκευής (παρακολούθηση αρχείου) προστέθηκε στο pyjsbuild.
  • pyjscompressor.py προστέθηκε.
  • Διάφορα σφάλματα έχουν καθοριστεί.
  • προστέθηκαν πολλά άλλα χαρακτηριστικά.

Τι είναι καινούργιο στην έκδοση 0.5p1:

  • Σταθερή Αυτόματη συμπλήρωση που απλά χρειάζεται μη-μεταφορικών μέσων για PopupPanel ( χάρη στην lovelysystems για την εφαρμογή μη-διάλογοι αλλιώς δεν θα ήταν δυνατό να καθοριστεί Αυτόματη συμπλήρωση)
  • Προστέθηκε την εφαρμογή του μετακλάση & quot? Τύπου & quot? λειτουργία
  • Made KeyboardListener μια μονήρεις μονάδα, αντί να έχουν μια τάξη το ίδιο όνομα με τη μονάδα. Ομοίως με MouseListener, εκδηλώσεων και Focus.
  • Προστέθηκε δεξί κλικ μενού περιβάλλοντος, και πρόσθεσε ένα παράδειγμα στο KitchenSink Menus.py να δείξει πώς να τα δημιουργήσουν.
  • Προστέθηκε python-Spidermonkey ως πειραματική πλατφόρμα, ακριβώς όπως pyv8run.py τώρα υπάρχει pysmrun.py
  • Top-επίπεδο καθολικές μεταβλητές, και υψηλού επιπέδου λειτουργίες, τώρα σωστά πεδίο σε μια ενότητα (χάρη στην αύξηση Χοσέ για αυτό το ένα)
  • Οι αλφαριθμητικές σταθερές τώρα επέστρεψε ως περιπτώσεις String (), η οποία οδηγεί σε αυτούς που έχουν τη μέθοδο __iter__ που έχει προστεθεί με το πρωτο της javascript τύπου String βάσης.
  • έκανε TypeError κληρονομήσει από BaseException αντί να είναι ένα javascript πρωτο από σφάλματος (). TypeError μπορεί τώρα να τεθεί κατ 'εξαίρεση, με ένα μήνυμα.
  • έκανε == __eq__ χρήση σύγκρισης, η οποία χρησιμοποιεί __cmp__ υπό όρους εάν είναι διαθέσιμη: αυτό διορθώνει σφάλματα σε σύγκριση καταλόγων στον LibTest. αντικατέστησε μεγάλο αριθμό των αριθμητικών & quot? == & quot? συγκρίσεις με & quot?. είναι & quot ;, έτσι ώστε __eq__ δεν παίρνει ονομάζεται (αποδοτικότητα)
  • προστεθεί υποστήριξη για την κλήση * args σχετικά με τις λειτουργίες: προηγουμένως, μια λειτουργία κλήσης (* args) θα είχε ως αποτέλεσμα την args πετιέται
  • !
  • έκανε Πλειάδα δική της κατηγορία, αντί να κληρονομεί από τη λίστα, ώστε να μπορεί να διακριθεί από τη λίστα. __cmp__ ενός Λίστα με μια πλειάδα τώρα αποτύχει σωστά.
  • ξανάγραψε τα παραδείγματα / libtest έτσι ώστε να μπορούν να λειτουργούν υπό πρότυπες πύθωνα (Python ./LibTest.py). Αυτό επιτρέπει τη σύγκριση των pyjs κατά πρότυπο πύθωνα.
  • προσθέσετε μέθοδος επεκτείνεται σε pyjslib.List
  • προσθέστε επιπλέουν σε Builtins
  • προσθέστε pyjamas.log βάσει παραδειγμάτων / libtest / write.py
  • καταχωρηθεί ενσωματωμένη λειτουργία «ΔΕΑ». είχε ήδη εφαρμοστεί, αλλά δεν είναι εγγεγραμμένοι στο pyjs.py
  • προστίθεται ένα --optimize επιλογή στην οποία οδηγεί στην αφαίρεση δηλώσεις εκτύπωσης. αυτό θα μπορούσε να βελτιωθεί περαιτέρω. π.χ. όταν εφαρμόζεται διεκδικούν
  • σταθερό Mozilla & quot? Permission Denied & quot? bug στο DOM.isOrHasChild
  • pyjslib.Dict χρησιμοποιούν τώρα τη μέθοδο κατακερματισμού για να παράγει τα κλειδιά στο εσωτερικό, έτσι ώστε να si δυνατόν να χρησιμοποιήσετε τα αντικείμενα, όπως κλειδιά, όπως στην Python. Για τους περιορισμούς σχετικά με DICTS διαβάσετε παραδείγματα / libtest / DictTest.py

Τι είναι καινούργιο στην έκδοση 0.4p1:

  • Αυτό είναι ένα μικρό μπάλωμα απελευθέρωση των πιτζάμες 0.4p1, ο compiler Python-to-Javascript και Python Web UI Widgets Toolkit.
  • Σημαντικά σφάλματα που καθορίζονται περιλαμβάνουν αφαίρεση () συνάρτηση HorizontalPanel, η σαφής () συνάρτηση SimplePanel του, και sprintf με πολλαπλά επιχειρήματα (& quot?% S% d & quot?% (& Quot? Γεια σας & quot ;, 2) θα λειτουργούν πλέον) διαλόγου έχει τώρα μεταφορικών μέσων λειτουργικότητα (χάρη στην Jurgen kartnaller).
  • HorizontalSplitPanel έχει προστεθεί, αν και οι δύο οριζόντιες και κάθετες πάνελ λειτουργούν σωστά σε Mozilla-based browsers, αλλά Safari και IE χρειάζεται εθελοντές να εργαστούν σε αυτές.

Τι είναι καινούργιο στην έκδοση 0.4:

  • Βελτιώσεις:
  • Προστέθηκε βιβλιοθήκη / splitpanel.py και βιβλιοθήκη / vertsplitpanel.py, μαζί με παραδείγματα / splitpanel. ΣΗΜΕΙΩΣΗ:. Splitpanels θα πρέπει να είναι σε ui
  • Άλλαξε ui.TabBar.insertTab () για να επιτρέψει widgets για να περάσει, καθώς και το κείμενο.
  • Προστέθηκε παραδείγματα / tabpanelwidget
  • Προστέθηκε gtk_converter για το & quot? Contrib & quot? κατάλογο (χάρη στο Jeremy)
  • Προστέθηκε βιβλιοθήκη / decoratorpanel.py που περιλαμβάνει DecoratorPanel, DecoratedTabPanel και DecoratedTabBar. ΣΗΜΕΙΩΣΗ:. Αυτές οι κατηγορίες θα πρέπει να είναι σε ui
  • Προστέθηκε παραδείγματα / slideshow
  • Προστέθηκε υποστήριξη για τεμαχισμό με αρνητικούς αριθμούς.
  • Προστέθηκε παραδείγματα / jsobject
  • Προστέθηκε υποστήριξη για τη λειτουργία εντοπισμού σφαλμάτων, η οποία μπορεί να ενεργοποιηθεί από ένα συμπεριλαμβάνουν & quot? -D & Quot? επιλογή γραμμής εντολών κατά την κλήση build.py. Με αυτή την επιλογή ενεργοποιημένη, κάθε δήλωση στον κώδικα Python σας περιβάλλεται από μια δοκιμή ... εκτός από τη δήλωση που εμφανίζει μια προειδοποίηση και αν συμβεί μια εξαίρεση. Το μήνυμα συναγερμού περιέχει το αρχικό κείμενο πηγή Python, τον αριθμό γραμμής στο αρχείο προέλευσης Python όπου συνέβη το σφάλμα, και τις λεπτομέρειες του σφάλματος Javscript που συνέβη. Αυτό θα απλοποιήσει σε μεγάλο βαθμό τον εντοπισμό σφαλμάτων κώδικα πιτζάμες σας.
  • Τεύχος # 75: Προστέθηκε υποστήριξη για & quot? Δεν είναι Καμία & quot? σύνταξη.
  • Τεύχος # 85: τέθηκε σε εφαρμογή η τοξική για την αναπαραγωγή () ενσωματωμένη λειτουργία
  • .
  • Τεύχος # 93:. Εφαρμόζεται dict.items ()
  • Τεύχος # 95:. Εφαρμόζεται Window.prompt ()
  • Τεύχος # 100:. Προστέθηκε μια μέθοδο setPadding () για να ui.CellPanel
  • Τεύχος # 103: Εφαρμόζεται η αποκλειστική απαρίθμηση () ενσωματωμένη λειτουργία
  • .
  • Τεύχος # 104: Προστέθηκε η δυνατότητα να αναθέσει σε έναν κατάλογο των μεταβλητών, για παράδειγμα: x, y = self.method ()
  • Τεύχος # 105: τέθηκε σε εφαρμογή το min () και max () ενσωματωμένες λειτουργίες
  • .
  • Τεύχος # 88: Είναι δυνατόν τώρα να χρησιμοποιήσετε το getattr () ενσωματωμένη λειτουργία για τη λήψη μιας μεθόδου, και στη συνέχεια να περάσει τις παραμέτρους με τη μέθοδο αυτή, όταν το λέτε. Υπάρχει ένα νέο παράδειγμα στην & quot? Παραδείγματα / & quot? κατάλογο, που ονομάζεται & quot?. getattr & quot ;, η οποία δείχνει πώς αυτό μπορεί να χρησιμοποιηθεί
  • Τεύχος # 111:. Προστέθηκε XOR και λίγο-στροφή φορείς, χάρη στην legith
  • Τεύχος # 112:. Προστέθηκε υποστήριξη για την ord () και chr () ενσωματωμένες λειτουργίες (! Ευχαριστώ, legith)
  • Τεύχος # 113: Εφαρμόζεται η στήριξη της βασικής δοκιμή ... εκτός δηλώσεις. Υπάρχει επίσης μια νέα μονάδα, παραδείγματα / libtest / ExceptionTest.py, η οποία ελέγχει τη χρήση του δοκιμάσετε ... εκτός από τη δήλωση.
  • Διορθώσεις σφαλμάτων:
  • Προστέθηκε μια νέα εφαρμογή του sprintf.
  • Τεύχος # 86: Διορθώθηκε ένα bug το οποίο θα μπορούσε να προκαλέσει HTTPRequest για την συντριβή. Χάρη στην finder83 από code.google.com/p/pyjamas για να βοηθήσει να βρουν αυτό.
  • Προστέθηκε απλές εικόνες που θα χρησιμοποιηθεί για τις άκρες και τις γωνίες του πλαισίου διαλόγου
  • Διάφορα αλλαγές ui.py και DOM.py (εν μέρει) την υποστήριξη για το χειρισμό διαλόγου εκδήλωση.
  • Διορθώθηκε ένα bug στο ui.CellFormatter.getElement (), το οποίο θα μπορούσε να προκαλέσει μια συντριβή.
  • Διορθώθηκε το πρόβλημα με ui.FormSubmitEvent.setCancelled ()
  • Διορθώθηκε το bug στην ui.clickDelegatePanel.onBrowserEvent (), η οποία προκάλεσε τη συντριβή κατά την επεξεργασία μιας εκδήλωσης keyDown.
  • Άλλαξε ui.ClickDelegatePanel.onBrowserEvent () για να βεβαιωθείτε ότι το πλήκτρο πληρεξούσιος έχει στην πραγματικότητα ένα & quot? Onkeydown & quot? μέθοδο πριν επιχειρήσετε να την αποκαλούμε.
  • Τεύχος # 54: Διορθώθηκε probem με ανίχνευση του προγράμματος περιήγησης (μέσω του quot &? User-agent & quot? Κορδόνι) κάτω από τον Internet Explorer 7.0. Προφανώς η Microsoft αποφάσισε να αλλάξει τη σειρά του πράκτορα χρήστη σε IE 7, σπάζοντας τον κώδικα σε Πιτζάμες που προσδιορίζονται στο πρόγραμμα περιήγησης του χρήστη.
  • Αφαιρέθηκε κώδικα από DOM.init (), η οποία προσπαθούσε να καθορίσει ένα σφάλμα με την καταγραφή στοιχείων, αλλά δεν λειτούργησε.
  • Διορθώθηκε ένα bug στο ComplexPanel.insert που έχει προκαλέσει τον Internet Explorer 6 για διεφθαρμένη μοντέλο DOM του.
  • Τεύχος # 53:. Διορθώθηκε το πρόβλημα με προτεραιότητα τελεστών
  • Τεύχος # 91: Προστέθηκε DOM.eventGetCurrentEvent () συνάρτηση για να ανακτήσετε την τρέχουσα εκδήλωση
  • .
  • Άλλαξε FocusWidget.onBrowserEvent () για να βεβαιωθείτε ότι ο ακροατής κλικ στην πραγματικότητα έχει μια & quot? OnClick & quot? μέθοδο πριν επιχειρήσετε να την αποκαλούμε.
  • Τεύχος # 82: content-type Άλλαξε αποστέλλονται από βιβλιοθήκη / HTTPRequest.asyncPostImpl σε & quot? Application / x-www-form-urlencoded & quot? παρά & quot? text / plain & quot ;. Αυτό επιτρέπει το HTTPRequest αντικείμενο που πρέπει να χρησιμοποιηθεί για να κάνει AJAX κλήσεις χρησιμοποιώντας αιτήσεις HTTP POST.
  • Τεύχος # 81:. Σταθερή βιβλιοθήκη / ui.Panel.clear ()
  • Προστέθηκε ένα στυλ κλιμακωτές με τα παραδείγματα / πρόγραμμα αλληλογραφίας
  • Τεύχος # 106: Διορθώθηκε το πρόβλημα όπου η χρήση μιας πλειάδας ως ένα λεξικό κλειδί που παράγεται απροσδόκητα αποτελέσματα
  • Τεύχος # 107: Τώρα είναι δυνατόν να περιλαμβάνουν ένα σύμβολο συν στο ξεκίνημα μιας αριθμητικής κυριολεκτική
  • Μεταφέρθηκε datetime.py από τον κατάλογο addons στη βιβλιοθήκη.
  • Τεύχος # 80: Άλλαξε πολλά από τα παραδείγματα για να χρησιμοποιήσουν τις νέες & quot? Πιτζάμες & quot? όνομα του πακέτου.
  • Διορθώθηκε το πρόβλημα με τη χρήση αρνητικών φέτες σε λίστες (χάρη, Legith).

Άλλο λογισμικό του προγραμματιστή James Tauber

Σχόλια για Pyjamas

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!