والبيجامة عبارة عن مجموعة أدوات ومكتبة مصممة لتمكين كتابة تطبيقات AJAX في بيثون. ويستند البيجامة على GWT جوجل، والذي يفعل الشيء نفسه لجاوا.
آيك GWT، منامة ينطوي على ترجمة للطلب والمكتبات (بما في ذلك الحاجيات واجهة المستخدم والطبقات DOM) للجافا سكريبت والتعبئة والتغليف تصل تلك كود جافا سكريبت.
هناك نوعان من أدوات المطورين الأساسية المضمنة مع منامة. pyjs يترجم كود بايثون إلى جافا سكريبت عن طريق المشي الشجرة جملة مجردة بيثون وتوليد جافا سكريبت.
في كثير من الحالات، الذي بني في بيثون أنواع تتطلب تنفيذ مخصص جافا سكريبت. على سبيل المثال، على الرغم من قوائم بيثون مماثلة لصفائف جافا سكريبت، وقوائم بيثون يتم تحويلها إلى كائنات مخصصة تنفيذ طرق مثل إلحاق. وتعرف هذه الكائنات الجمركية المطلوبة للترجمة من قبل pyjs في مكتبة دعا pyjslib.
مثل GWT، منامة يأتي مع مجموعة من الحاجيات واجهة المستخدم وكذلك مكتبة للتلاعب DOM. تتم كتابة هذه المكتبات في بيثون ولكنها، مثل كل شيء آخر، وترجم إلى جافا سكريبت للنشر.
يدار الترجمة الشاملة للمكونات الفردية من البناء الذي يخلق أيضا رمز النمطي ضروريا. والنتيجة هي مجموعة من هتمل وشبيبة الملفات التي يمكن أن تقدم من قبل ملقم ويب.
وهناك مكونات أخرى المخطط التي لم يتم تغطيتها هنا مثل الرمز من جانب الخادم للاتصال في تطبيقات العميل-الخادم
ما هو الجديد في هذا الإصدار:.
sys.stdout بسيطة وأضيفت الأجسام sys.stderr. تم إصلاح sys.exc_info () لتتصرف أكثر مثل بايثون.
تم إضافة وحدة نمطية traceback أساسية جدا.
تمت إضافة oninput وonpropertychange دعم الحدث.
تم إصلاح مشكلة getWidget مع HTMLTable تحت pyjd على ويندوز.
تم إضافة إعراب ثائق XML تحت pyjd على ويندوز.
تمت إضافة خيار لصناعة السيارات في البناء (مراقبة الملف) إلى pyjsbuild.
وأضيف pyjscompressor.py.
تم إصلاح الخلل المختلفة.
تم إضافة العديد من الميزات الأخرى.
ما هو جديد في الإصدار 0.5p1:
الثابتة تكملة التي تحتاج فقط غير مشروط على PopupPanel (بفضل lovelysystems لتنفيذ الحوارات غير مشروط وإلا فإنه لن يكون من الممكن إصلاح تكملة)
تنفيذ المضافة للmetaclass ومثل؛ نوع ومثل. وظيفة
جعل KeyboardListener وحدة مفردة بدلا من أن يكون لفئة المسمى نفس الوحدة. وبالمثل مع MouseListener، حدث والتركيز.
وأضاف بزر الماوس الأيمن نقر سياق القوائم، وأضاف مثالا في KitchenSink Menus.py لإظهار كيفية إقامتها.
واضاف-الثعبان سبايدر مونكي بمثابة منصة تجريبية، تماما مثل pyv8run.py الآن هناك pysmrun.py
المستوى الأعلى المتغيرات العالمية، وعلى مستوى عال وظائف، والآن بشكل صحيح نطاق في وحدة نمطية (بفضل خوسيه لرفع هذا واحد)
يتم إرجاع الآن ثوابت السلسلة عن حالات من سلسلة () مما يترتب عليه وجود طريقة __iter__ التي تم إضافتها إلى بروتو من نوع جافا سكريبت سلسلة القاعدة.
جعل TypeError ترث من BaseException بدلا من أن يكون بروتو جافا سكريبت من خطأ (). ويمكن الآن أن تثار TypeError كاستثناء، مع رسالة.
جعل == استخدام المقارنة __eq__، والذي يستخدم مشروط __cmp__ إذا كان متوفرا: هذا حل الخلل في المقارنة بين القوائم في LibTest. استبدال عدد كبير من العددي ومثل؛ == & مثل. مقارنات مع ومثل، هو ومثل ؛، بحيث __eq__ لا يحصل يسمى (الكفاءة).
واضاف لدعم الدعوة وسائط * على وظائف: سابقا، فإن وظيفة الدعوة (* سائط) يؤدي إلى وسائط التي القيت بعيدا!
جعل الصفوف (tuple) فئتها الخاصة، بدلا من وراثة من قائمة، من أجل أنه يمكن تمييزها عن قائمة. الآن فشل __cmp__ من قائمة مع الصفوف (tuple) بشكل صحيح.
أعاد كتابة الأمثلة / libtest بحيث يمكن تشغيلها تحت الثعبان القياسي (الثعبان ./LibTest.py). وهذا يسمح للمقارنة بين pyjs ضد الثعبان القياسية.
إضافة طريقة تمتد إلى pyjslib.List
إضافة إلى تعويم builtins
أضفت pyjamas.log على أساس أمثلة / libtest / write.py
وظيفة مسجل "CMP" مدمج. وقد نفذت بالفعل ولكن غير مسجلة في pyjs.py
وأضاف خيارا --optimize الذي يؤدي إلى إزالة البيانات الطباعة. هذا يمكن تحسينها. مثلا عندما يتم تنفيذ ASSERT
الثابتة موزيلا ومثل، إذن مرفوض ومثل. خطأ في DOM.isOrHasChild
pyjslib.Dict الآن استخدام طريقة التجزئة لتوليد مفاتيح داخليا، لذلك الاشتراكية الممكن استخدام الأجسام كمفاتيح في مثل الثعبان. لفرض قيود على dicts قراءة الأمثلة / libtest / DictTest.py
ما هو جديد في الإصدار 0.4p1:
هذا هو الافراج عن التصحيح طفيفة من منامة 0.4p1، مترجم بايثون إلى جافا سكريبت وبيثون الويب UI الحاجيات الأدوات.
وتشمل البق كبيرة ثابتة إزالة () وظيفة HorizontalPanel واضحة وظيفة SimplePanel ل()، وsprintf بحجج متعددة (ومثل؛٪ ق٪ د و مثل؛٪ (ومثل، مرحبا ومثل ؛، 2) ستعمل الآن) لديها مربع الحوار الآن ظائف الوسائط (بفضل ليورغن kartnaller).
تمت إضافة HorizontalSplitPanel، على الرغم من أن كلا من الألواح الأفقية والرأسية تعمل بشكل صحيح على متصفحات موزيلا القائمة، ولكن سفاري وIE بحاجة الى متطوعين للعمل عليها.
ما هو الجديد في الإصدار 0.4:
التحسينات:
وأضاف مكتبة / splitpanel.py ومكتبة / vertsplitpanel.py، جنبا إلى جنب مع أمثلة / splitpanel. ملاحظة: يجب أن تكون splitpanels في واجهة المستخدم.
ui.TabBar.insertTab غيرت () للسماح الحاجيات لتمريرها وكذلك النص.
أمثلة وأضاف / tabpanelwidget
gtk_converter تضاف إلى ومثل، contrib ومثل. الدليل (بفضل جيريمي)
وأضاف مكتبة / decoratorpanel.py التي تضم DecoratorPanel، DecoratedTabPanel وDecoratedTabBar. ملاحظة: يجب أن تكون هذه الفئات في واجهة المستخدم.
أمثلة وأضاف / عرض الشرائح
واضاف الدعم تشريح مع الأرقام السالبة لل.
أمثلة وأضاف / jsobject
واضاف لدعم وضع تصحيح الأخطاء، والتي يمكن أن تحول كتبها تشمل ومثل؛ -d ومثل. خيار سطر الأوامر عند الاتصال build.py. مع تحول هذا الخيار، ويحيط كل بيان في التعليمات البرمجية بيثون الخاص بك عن طريق المحاولة ... إلا بيان أن يعرض تنبيه في حال حدوث استثناء. يحتوي على رسالة التنبيه النص الأصلي مصدر بيثون، رقم السطر في الملف المصدر بيثون الخاص بك حيث حدث الخطأ، وتفاصيل الخطأ Javscript التي وقعت. وهذا ينبغي تبسيط كبير تصحيح التعليمات البرمجية البيجامة الخاص بك.
العدد رقم 75: واضاف لدعم ومثل، ليس بلا & مثل. بناء الجملة.
العدد رقم 85: تنفيذ repr () وظيفة المضمنة.
العدد رقم 93: dict.items نفذت ().
العدد رقم 95: نفذت Window.prompt ().
العدد رقم 100: أضيف طريقة setPadding () لui.CellPanel.
العدد رقم 103: تنفيذ تعداد () وظيفة المضمنة.
العدد رقم 104: واضاف القدرة على تعيين إلى قائمة من المتغيرات، على سبيل المثال: س، ص = self.method ()
العدد رقم 105: نفذت دقيقة () وماكس () وظائف المضمنة.
العدد رقم 88: ومن الممكن الآن استخدام getattr () المدمج في وظيفة للحصول على طريقة، ومن ثم تمرير المعلمات إلى هذه الطريقة عندما كنت اسميها. وهناك مثال جديد في ومثل، وكذلك نماذج / و مثل؛ دليل، ودعا ومثل، getattr ومثل ؛، والذي يدل على كيف يمكن استخدام هذا.
العدد رقم 111: واضاف XOR وبت تحول المشغلين، وذلك بفضل legith.
العدد رقم 112: واضاف لدعم ORD () وجنة حقوق الإنسان () المدمج في وظائف (شكرا، legith!).
العدد رقم 113: دعم المنفذة لمحاولة الأساسية ... إلا التصريحات. وهناك أيضا وحدة نمطية جديدة، والأمثلة / libtest / ExceptionTest.py، الذي يختبر استخدام محاولة ... إلا البيان.
علة المآزق:
وأضاف تطبيق جديد من sprintf.
العدد رقم 86: إصلاح الخلل الذي يمكن أن يسبب HTTPRequest لتحطم الطائرة. بفضل finder83 من code.google.com/p/pyjamas للمساعدة في العثور على هذا.
الصور القياسية أضاف لاستخدامها في حواف وزوايا مربع الحوار
تغييرات مختلفة لui.py وDOM.py إلى (جزئيا) دعم التعامل مع مربعات الحوار على الحدث.
إصلاح الخلل في ui.CellFormatter.getElement () والتي يمكن أن تتسبب في وقوع الحادث.
إصلاح مشكلة مع ui.FormSubmitEvent.setCancelled ()
علة ثابتة في ui.clickDelegatePanel.onBrowserEvent () الذي تسبب في تحطم الطائرة عند معالجة الحدث KeyDown.
ui.ClickDelegatePanel.onBrowserEvent غيرت () للتحقق من أن مندوب رئيسيا له في الواقع ومثل، عند_ضغط_مفتاح ومثل. طريقة قبل محاولة تسميتها.
العدد رقم 54: إصلاح probem مع الكشف عن متصفح (عبر ومثل، عامل المستخدم ومثل، سلسلة) تحت إنترنت إكسبلورر 7.0. على ما يبدو قررت مايكروسوفت لتغيير سلسلة عامل المستخدم في IE 7، وكسر التعليمات البرمجية في البيجامة التي حددت متصفح المستخدم.
إزالة رمز من DOM.init () الذي كان يحاول إصلاح الخلل مع عناصر التقاط، ولكن لم تنجح.
إصلاح الخلل في ComplexPanel.insert الذي كان يسبب Internet Explorer 6 لالفاسدين نموذج DOM لها.
العدد رقم 53: إصلاح مشكلة مع مشغل الأسبقية.
العدد رقم 91: وظيفة واضاف DOM.eventGetCurrentEvent () لاسترداد الحدث الحالي.
FocusWidget.onBrowserEvent غيرت () للتحقق من أن النقر المستمع له في الواقع ومثل، عند _ النقر ومثل. طريقة قبل محاولة تسميتها.
العدد رقم 82: تغيير نوع المحتوى التي بعث بها مكتبة / HTTPRequest.asyncPostImpl لومثل، التطبيق / x-WWW-شكل-urlencoded ومثل. بدلا من ومثل، نص / عادي ومثل ؛. وهذا يسمح للكائن HttpRequest لاستخدامها لجعل AJAX المكالمات باستخدام طلبات POST HTTP.
العدد رقم 81: مكتبة ثابت / ui.Panel.clear ().
وأضاف ورقة أنماط المتتالية إلى الأمثلة / برنامج البريد
العدد رقم 106: إصلاح مشكلة حيث تستخدم الصفوف (tuple) كما تنتج مفتاح القاموس نتائج غير متوقعة
العدد رقم 107: ومن الممكن الآن لتشمل علامة زائد في بداية رقمية حرفية
انتقل datetime.py من الدليل أدونس في المكتبة.
العدد رقم 80: تغيير العديد من الأمثلة لاستخدام جديدة ومثل، منامة ومثل. اسم الحزمة.
إصلاح المشكلة مع استخدام شرائح السلبية على قوائم (شكرا، Legith).
لم يتم العثور على التعليقات