পায়জামা পাইথন AJAX প্রয়োগ লেখা সক্ষম করার জন্য ডিজাইন একটি টুলকিট এবং লাইব্রেরি. পায়জামা জাভা জন্য একই জিনিস আছে যা Google এর GWT, উপর ভিত্তি করে.
Ike GWT, পায়জামা আবেদন এবং জাভাস্ক্রিপ্ট এবং যে জাভাস্ক্রিপ্ট কোড আপ প্যাকেজিং (UI 'তে উইজেট এবং DOM ক্লাস সহ) লাইব্রেরি অনুবাদ জড়িত থাকে.
পায়জামা সঙ্গে অন্তর্ভুক্ত দুটি কোর ডেভেলপার টুলস আছে. pyjs পাইথন বিমূর্ত বাক্য গঠন গাছ হাঁটা এবং জাভাস্ক্রিপ্ট উৎপাদিত দ্বারা জাভাস্ক্রিপ্ট পাইথন কোড অনুবাদ.
অনেক ক্ষেত্রে, বিল্ট ইন পাইথন ধরনের একটি কাস্টম জাভাস্ক্রিপ্ট বাস্তবায়ন প্রয়োজন. উদাহরণস্বরূপ, পাইথন তালিকা জাভাস্ক্রিপ্ট অ্যারে অনুরূপ, যদিও পাইথন তালিকা পরিশেষে যোগ মত পদ্ধতি বাস্তবায়ন যে নিজস্ব বস্তু রূপান্তরিত হয়. Pyjs দ্বারা অনুবাদ জন্য প্রয়োজন বোধ করা এই কাস্টম বস্তু একটি লাইব্রেরি বলা pyjslib সংজ্ঞায়িত করা হয়.
GWT ভালো লেগেছে, পায়জামা UI 'তে উইজেট একটি সেট হিসেবে DOM, ম্যানিপুলেশন জন্য একটি লাইব্রেরি সঙ্গে আসে. এই লাইব্রেরি স্থাপনার জন্য জাভাস্ক্রিপ্ট অনুবাদ অন্য সব কিছুর মত, পাইথন লেখা কিন্তু করা হয়.
পৃথক উপাদান সামগ্রিক অনুবাদ প্রয়োজনীয় boilerplate কোড তৈরি করে যা বিল্ড দ্বারা পরিচালিত হয়. ফলে এইচটিএমএল এর একটি সেট এবং একটি ওয়েব সার্ভার দ্বারা আপ পরিসেবা উপলব্ধ করা হবে JS ফাইল.
যেমন ক্লায়েন্ট-সার্ভার অ্যাপ্লিকেশনের মধ্যে যোগাযোগের জন্য সার্ভার সাইড কোড হিসাবে এখানে আচ্ছাদিত করা হয়েছে না হয়েছে, যা পরিকল্পিত অন্যান্য উপাদান আছে
এই রিলিজে নতুন কি:.
- সহজ sys.stdout এবং sys.stderr বস্তু যোগ করা হয় নি. sys.exc_info () পাইথন মত আরো আচরণ সংশোধন করা হয়েছে.
- খুব মৌলিক ট্রেস-ব্যাক মডিউল যোগ করা হয়েছিল.
- oninput এবং onpropertychange ঘটনা সমর্থন যোগ করা হয়েছে.
- উইন্ডোজ pyjd অধীনে HTMLTable সঙ্গে একটি getWidget সমস্যা সংশোধন করা হয়েছে.
- উইন্ডোজ pyjd অধীনে এক্সএমএল নথি পার্স যোগ করা হয়েছিল.
- একটি স্বয়ংক্রিয় বিল্ড (ফাইল পর্যবেক্ষণ) বিকল্প pyjsbuild যোগ করা হয়েছিল.
- pyjscompressor.py যোগ করা হয়েছিল.
- বিভিন্ন বাগ সংশোধন করা হয়েছে.
- বেশ কিছু অন্যান্য বৈশিষ্ট্য যোগ করা হয়েছে.
সংস্করণ 0.5p1 নতুন কি:
- শুধু PopupPanel অ মোডাল প্রয়োজন, যা স্থায়ী স্বতসম্পূর্ণ ( ধন্যবাদ অন্যথায়, এটি) স্বতসম্পূর্ণ সংশোধন করা সম্ভব হবে না অ-মোডাল ডায়ালগ বাস্তবায়নের জন্য lovelysystems থেকে
- ক্লাসের অধীনে একটি ক্লাস, & quot যোগ করা হয়েছে বাস্তবায়ন; & quot; ফাংশন
- তৈরি KeyboardListener একটি একক মডিউল বরং একটি ক্লাস মডিউল হিসাবে একই নামে আছে. একইভাবে MouseListener, ইভেন্ট এবং ফোকাস সঙ্গে.
- যোগ করা হয়েছে ডান যোগ্য কনটেক্সট মেনু, এবং KitchenSink Menus.py মধ্যে একটি উদাহরণ তাদের এখনো যোগ করেনি সেট আপ কিভাবে প্রদর্শন করুন.
- ঠিক pyv8run.py মত, ময়াল সাপ-spidermonkey একটি পরীক্ষামূলক প্ল্যাটফর্ম হিসাবে যোগ করা হয়েছে এখন আছে pysmrun.py
- শীর্ষ পর্যায়ের গ্লোবাল ভেরিয়েবল, এবং টপ-লেভেল ফাংশন, (এই এক উত্থাপন জন্য Jose ধন্যবাদ) এখন সঠিকভাবে একটি মডিউল সুযোগ করুন
- স্ট্রিং ধ্রুবক এখন তাদের জাভাস্ক্রিপ্ট বেস স্ট্রিং টাইপ প্রোটো যোগ করা হয়েছে যে __iter__ পদ্ধতি হচ্ছে যার ফলাফল স্ট্রিং () এর দৃষ্টান্ত হিসেবে প্রদান করা হয়.
- বরং ত্রুটি থেকে একটি জাভাস্ক্রিপ্ট প্রোটো হচ্ছে আর BaseException থেকে উত্তরাধিকারী TypeError তৈরি (). TypeError এখন একটি বার্তা, একটি ব্যতিক্রম হিসাবে উত্থাপিত হতে পারে.
- এটি উপলব্ধ হলে শর্তসাপেক্ষে __cmp__ ব্যবহার করে, যা == তুলনা ব্যবহার __eq__, তৈরি করেছেন: এই LibTest তালিকা তুলনা বাগ সমাধান করা হয়েছে. ==, & quot; সংখ্যাসূচক, & quot একটি বড় সংখ্যা প্রতিস্থাপিত; সঙ্গে, & quot তুলনা;. & quot ;, __eq__ বলা হয় না, যাতে (দক্ষতা)
- ফাংশন * args কলিং জন্য সমর্থন যোগ করা হয়েছে: পূর্বে, ARGS স্থাপিত হবে একটি কল ফাংশন (* args) দূরে নিক্ষিপ্ত হচ্ছে
- Tuple তৈরি নিজস্ব বর্গ, বরং এটি তালিকা থেকে আলাদা করা যেতে পারে যে, যাতে তালিকা থেকে উত্তরাধিকার সূত্রে প্রাপ্ত চেয়ে. একটি Tuple সঙ্গে একটি তালিকা __cmp__ এখন সঠিকভাবে ব্যর্থ হয়.
- rewrote উদাহরণ / তারা মান পাইথন (Python ./LibTest.py) অধীনে চালানো যেতে পারে, যাতে libtest. এই মান পাইথন বিরুদ্ধে pyjs একটি তুলনামূলক জন্য করতে পারবেন.
- যোগ পদ্ধতি pyjslib.List প্রসারিত করুন
- builtins করতে ভাসা যোগ করুন
- উদাহরণ উপর ভিত্তি করে pyjamas.log যোগ / libtest / write.py
- নিবন্ধিত অভ্যন্তরীণ ফাংশন 'CMP'. ইতিমধ্যে বাস্তবায়িত না কিন্তু pyjs.py নিবন্ধিত ছিল
- মুদ্রণ বিবৃতি অপসারণ ফলাফল যা একটি --optimize বিকল্প যোগ করা হয়েছে. এই বিষয়ে আরও উন্নত করা যেতে পারে. উদাহরণস্বরূপ জাহির প্রয়োগ করা হয় যখন
- সংশোধন করা হয়েছে মোজিলা, & quot; অনুমতি অস্বীকার করুন & quot; DOM.isOrHasChild বাগ করুন
- pyjslib.Dict এখন অন্ত কি উৎপন্ন হ্যাশ পদ্ধতি ব্যবহার করে, তাই এটা পাইথন মত কি হিসাবে বস্তু ব্যবহার করা সম্ভব যদি. Dicts সীমাবদ্ধতা উদাহরণ পড়ুন / libtest / DictTest.py
সংস্করণ 0.4p1 নতুন কি:
- এই পায়জামা 0.4p1 একটি ছোটখাট প্যাচ রিলিজ, পাইথন-থেকে-জাভাস্ক্রিপ্ট কম্পাইলার এবং পাইথন ওয়েব UI 'তে উইজেট টুলকিট.
- সংশোধন করা হয়েছে উল্লেখযোগ্য বাগ একাধিক আর্গুমেন্ট সঙ্গে HorizontalPanel এর অপসারণ () ফাংশন, সিম্পলপ্যানেল এর স্পষ্ট () ফাংশন, এবং, sprintf অন্তর্ভুক্ত (& quot;% s এর% D, & quot;% (& quot; হ্যালো & quot ;, 2) এখন কাজ করবে) ডায়লগ বক্স এখন মোডাল কার্যকারিতা (ধন্যবাদ kartnaller Jürgen জন্য).
- উভয় উল্লম্ব এবং অনুভূমিক প্যানেল মজিলা ভিত্তিক ব্রাউজার সঠিকভাবে কাজ, কিন্তু সাফারি এবং ইন্টারনেট তাদের কাজ স্বেচ্ছাসেবকদের প্রয়োজন, যদিও HorizontalSplitPanel, যোগ করা হয়েছে.
সংস্করণ 0.4 নতুন কি:
- উন্নতি:
- যোগ করা হয়েছে লাইব্রেরি / splitpanel.py এবং লাইব্রেরি / vertsplitpanel.py, উদাহরণ / splitpanel সঙ্গে বরাবর. উল্লেখ্য:. Splitpanels UI 'তে থাকা উচিত
- ui.TabBar.insertTab () উইজেট টেক্সট হিসেবে পাস করা অনুমতি দেয় পরিবর্তন হয়েছে.
- যোগ করা হয়েছে উদাহরণ / tabpanelwidget
- যোগ করা হয়েছে gtk_converter, & quot; contrib, & quot; ডিরেক্টরি (জেরেমি ধন্যবাদ)
- DecoratorPanel, DecoratedTabPanel এবং DecoratedTabBar রয়েছে যা এখনো যোগ করেনি লাইব্রেরি / decoratorpanel.py. উল্লেখ্য:. এই শ্রেণীর UI 'তে থাকা উচিত
- যোগ করা হয়েছে উদাহরণ / স্লাইডশো
- ঋণাত্মক সংখ্যা সঙ্গে slicing জন্য সমর্থন যোগ করা হয়েছে.
- যোগ করা হয়েছে উদাহরণ / jsobject
- ডিবাগ মোড জন্য সমর্থন যোগ করা হয়েছে, হল একটি & quot; -d, & quot; কমান্ড-লাইন বিকল্প build.py যখন কলিং. এই অপশনটি চালু, আপনার পাইথন কোড প্রতিটি বিবৃতি একটি ব্যতিক্রম ঘটে যদি একটি সতর্কতা প্রদর্শন করা হয় যে বিবৃতি ছাড়া একটি চেষ্টা ... দ্বারা বেষ্টিত. সতর্কতা বার্তা মূল পাইথন উৎস টেক্সট, ত্রুটি ঘটেছে যেখানে আপনার পাইথন সোর্স ফাইল লাইন সংখ্যা, এবং যা ঘটেছে javscript ত্রুটি বিশদ বিবরণ রয়েছে. এর ফলে আপনার পায়জামা কোড ডিবাগ সহজতর করা উচিত.
- ইস্যু # 75: & quot সমর্থন যোগ করা হয়েছে; কেউ না & quot; বাক্য গঠন.
- ইস্যু # 85: বাস্তবায়িত repr () বিল্ট ইন ফাংশন .
- ইস্যু # 93:. বাস্তবায়িত dict.items ()
- ইস্যু # 95:. বাস্তবায়িত Window.prompt ()
- ইস্যু # 100:. Ui.CellPanel একটি setPadding () মেথড যোগ করা হয়েছে
- ইস্যু # 103: বাস্তবায়িত গনা () বিল্ট ইন ফাংশন .
- ইস্যু # 104: যেমন, ভেরিয়েবল একটি তালিকা নির্ধারণ করার ক্ষমতা যোগ করা হয়েছে: X, Y = self.method ()
- ইস্যু # 105: কমপক্ষে () এবং সর্বোচ্চ (বাস্তবায়িত) বিল্ট ইন ফাংশন .
- ইস্যু # 88: এটি একটি পদ্ধতি প্রাপ্ত () বিল্ট ইন ফাংশন getattr ব্যবহার, এবং যখন আপনি কল তারপর যে পদ্ধতি পরামিতি পাস করা সম্ভব হবে. উদাহরণ /, & quot; & quot নতুন উদাহরণ আছে; ডিরেক্টরি, বলা. & quot; getattr & quot ;, যা এই ব্যবহার করা যেতে পারে কিভাবে প্রমান করুন
- ইস্যু # 111:. যোগ করা হয়েছে XOR এবং বিট শিফ্ট অপারেটর, ধন্যবাদ legith থেকে
- ইস্যু # 112:. Ord জন্য সমর্থন যোগ করা হয়েছে () ও CHR () বিল্ট ইন ফাংশন (! ধন্যবাদ, legith)
- ইস্যু # 113: বিবৃতি ছাড়া মৌলিক ব্যবহার করে দেখুন ... জন্য বাস্তবায়িত সমর্থন. একটি নতুন মডিউল, আছে উদাহরণ বিবৃতি ছাড়া ... চেষ্টা করুন. ব্যবহার পরীক্ষা করে যা / libtest / ExceptionTest.py,
- বাগ সংশোধন করা হয়েছে:
- sprintf একটি নতুন বাস্তবায়ন যোগ করা হয়েছে.
- ইস্যু # 86: বিপর্যস্ত HTTPrequest হতে পারে, যা একটি বাগ সংশোধন করা হয়েছে. ধন্যবাদ এই খুঁজে পেতে সাহায্য করার জন্য code.google.com/p/pyjamas থেকে finder83 করতে.
- যোগ করা হয়েছে মান ইমেজ একটি ডায়লগ বক্স এর প্রান্ত এবং কোণে জন্য ব্যবহার করার জন্য
- বিভিন্ন পরিবর্তন ui.py এবং ডায়লগ বক্স পরিচালনার (আংশিকভাবে) সমর্থন ইভেন্ট DOM.py করতে.
- ক্র্যাশ হতে পারে, যা ui.CellFormatter.getElement () মধ্যে একটি বাগ সংশোধন করা হয়েছে.
- ui.FormSubmitEvent.setCancelled সঙ্গে একটি সমস্যা সংশোধন করা হয়েছে ()
- বাগ সংশোধন করা হয়েছে.
- পরিবর্তন ui.ClickDelegatePanel.onBrowserEvent () কী প্রতিনিধি আসলে কোন & quot আছে, তা পরীক্ষা করা; কল করার পূর্বে পদ্ধতি.
- ইস্যু # 54: ইন্টারনেট এক্সপ্লোরার 7.0 এর অধীনে (স্ট্রিং; ইউজার এজেন্ট ও & quot quot মাধ্যমে) ব্রাউজার সনাক্তকরণ সঙ্গে একটি probem সংশোধন করা হয়েছে. দৃশ্যত মাইক্রোসফট ব্যবহারকারী ব্রাউজারে চিহ্নিত পায়জামা কোড ভঙ্গ, ইন্টারনেট 7 ইউজার এজেন্ট স্ট্রিং পরিবর্তন করার সিদ্ধান্ত নিয়েছে.
- উপাদান আটক সঙ্গে একটি বাগ ফিক্স করার চেষ্টা করা হয়, কিন্তু কাজ না করে যা DOM.init () থেকে সরানো কোড.
- দুর্নীতিগ্রস্ত তার DOM, মডেল ইন্টারনেট এক্সপ্লোরার 6 সৃষ্টি হয়, যা ComplexPanel.insert মধ্যে একটি বাগ সংশোধন করা হয়েছে.
- ইস্যু # 53:. অপারেটর প্রাধান্য দিয়ে একটি সমস্যা সংশোধন করা হয়েছে
- ইস্যু # 91: যোগ করা হয়েছে DOM.eventGetCurrentEvent () ফাংশন বর্তমান ঘটনা উদ্ধার করা .
- পরিবর্তন FocusWidget.onBrowserEvent () ক্লিক শ্রোতা আসলে কোন & quot আছে, তা পরীক্ষা করা; কল করার পূর্বে পদ্ধতি.
- ইস্যু # 82: লাইব্রেরি দ্বারা প্রেরিত পরিবর্তন কন্টেন্ট টাইপ / HTTPRequest.asyncPostImpl & quot; আবেদন / এক্স www-ফর্ম-urlencoded, & quot; বরং, & quot; টেক্সট / প্লেইন, & quot ;. এই HTTPrequest বস্তুর AJAX এর HTTP- র পোষ্ট অনুরোধ ব্যবহার করে কল. করতে ব্যবহার করা সম্ভব হবে
- ইস্যু # 81:. সংশোধন করা হয়েছে লাইব্রেরি / ui.Panel.clear ()
- উদাহরণ / মেইল প্রোগ্রাম একটি ক্যাসকেডিং স্টাইল যোগ করা হয়েছে
- ইস্যু # 106: অপ্রত্যাশিত ফলাফল উত্পাদিত একটি অভিধান কী হিসাবে একটি Tuple ব্যবহার করে যেখানে একটি সমস্যা সংশোধন করা হয়েছে
- ইস্যু # 107: এটি একটি সাংখ্যিক আক্ষরিক শুরু করার একটি যোগ চিহ্ন অন্তর্ভুক্ত করা সম্ভব হবে
- গ্রন্থাগারের মধ্যে অ্যাডঅনস ডিরেক্টরি থেকে সরানো হয়েছে datetime.py.
- ইস্যু # 80: পরিবর্তন নতুন, & quot ব্যবহার এর উদাহরণ অনেক, পায়জামা, & quot; প্যাকেজের নাম.
- (Legith ধন্যবাদ) তালিকায় নেতিবাচক টুকরা ব্যবহার করে সঙ্গে একটি সমস্যা সংশোধন করা হয়েছে.
দ্বারা চালু করা যেতে পারে, যা
একটি keyDown ঘটনা প্রক্রিয়াকরণের সময় একটি ক্র্যাশ হত যা ui.clickDelegatePanel.onBrowserEvent () মধ্যে
Onkeydown, & quot;
OnClick, & quot;
পাওয়া মন্তব্যসমূহ না