fbpx
วิกิพีเดีย

โดโจทูลคิต

โดโจทูลคิต (อังกฤษ: Dojo Toolkit เขียนตามสไตล์เป็น dōjō toolkit) เป็น โอเพนซอร์ส DHTML ทูลคิท ที่เขียนด้วยจาวาสคริปต์ ช่วยในการพัฒนาเอแจ็กซ์ในเว็บแอปพลิเคชัน ริเริ่มโดย อเล็กซ์ รัสเสล (Alex Russell) ใน พ.ศ. 2547 ภายใต้การดูแลของมูลนิธิโดโจ (Dojo Foundation) มีสัญญาอนุญาต 2 แบบให้เลือกใช้ ได้แก่ สัญญาอนุญาต BSD และ สัญญาอนุญาต Academic Free มูลนิธิโดโจเป็นองค์กรไม่แสวงหาผลประโยชน์มีวัตถุประสงค์เพื่อส่งเสริมการนำทูลคิทนี้ไปใช้งาน

โดโจทูลคิต (ก่อนรุ่นที่ 2) , โดโจ (ตั้งแต่รุ่นที่ 2)
ผู้พัฒนาDojo Foundation
วันที่เปิดตัว[[ข้อผิดพลาดนิพจน์: "{" เป็นอักขระเครื่องหมายวรรคตอนที่ไม่รู้จัก มีนาคม]] พ.ศ. 2548 (2005-03-{{{3}}}); ข้อผิดพลาดนิพจน์: มีตัวดำเนินการ < ซึ่งไม่ควรมี ข้อผิดพลาดนิพจน์: มีตัวดำเนินการ < ซึ่งไม่ควรมีก่อน
รุ่นล่าสุด6.0.0 / 28 สิงหาคม พ.ศ. 2562 (2019-08-28); 711 วันก่อน
เขียนบนDojo Tookit 1.x: JavaScript, Dojo >= 2.x: TypeScript
ระบบปฏิบัติการข้ามแพลตฟอร์ม
ประเภทJavaScript toolkit (or library)
สัญญาอนุญาตThe modified BSD license หรือ the Academic Free License (≥ 2.1)
เว็บไซต์https://dojotoolkit.org, https://dojo.io/

ความสามารถ

เครื่องมือในหน้าเว็บเพจ (Widgets)

Dojo widgets เป็นเครื่องมือต่างๆในหน้าเว็บเพจ เขียนเป็นโค้ดสำเร็จรูปโดยใช้ JavaScript, HTML และ CSS สนับสนุนการทำงานบนหลายเบราว์เซอร์ที่แพร่หลายในปัจจุบัน ช่วยให้เว็บเพจตอบโต้กับผู้ใช้ได้น่าสนใจ และพัฒนาง่ายขึ้น ตัวอย่างของเครื่องมือใน Dojo widgets เช่น

  • Menu, Tab และ Tooltips
  • ตารางปรับการเรียงลำดับใหม่ได้, แผนภาพแบบไดนามิก และ ตัวช่วยในการสร้างภาพเวกเตอร์
  • การทำ Effects ต่างๆ เช่น fades, wipes และ slides, และตัวช่วยในการสร้าง effects แบบต่างๆ
  • Tree ที่สนับสนุนการ drag-n-drop
  • แบบฟอร์ม และ ฟังก์ชันในการตรวจสอบความถูกต้องของแบบฟอร์ม
  • Date selector, Time selector ในรูปของปฏิทิน และ นาฬิกา
  • Rich Text Editor

การสื่อสารแบบไม่ต่อเนื่อง (Asynchronous communication)

หนึ่งในความสามารถหลักของ เอแจ็กซ์ แอปพลิเคชัน คือ การสื่อสารแบบไม่ต่อเนื่อง (Asynchronous communication) ของ เบราว์เซอร์ กับทางฝั่งเซิร์ฟเวอร์ กล่าวคือ สามารถส่งถ่ายและแสดงผลข้อมูลไปพร้อมๆกันโดยไม่ต้องรีโหลดทั้งหน้าใหม่หมด. ปกติแล้วการทำเช่นนี้จะต้องเรียกใช้ XMLHttpRequest ใน JavaScript ซึ่งในแต่ละเบราว์เซอร์ จะมีวิธีการเรียกใช้ที่แตกต่างกันอยู่เล็กน้อย. Dojo นำการจัดการพื้นฐาน เรื่องเกี่ยวกับข้อผิดพลาด, ปัญหาการใช้งานเกี่ยวกับปุ่ม "ย้อนกลับ", ปัญหาในการคั่นหน้า (Bookmark) และความแตกต่างระหว่างเบราว์เซอร์ ของการเรียกใช้ XMLHttpRequest รวมให้เรียกผ่าน dojo.io.bind เหมือนกันทั้งหมดแทน ซึ่งสามารถปรับให้ใช้วิธีอื่นนอกจาก XMLHttpRequest ได้ด้วย (เช่น การเรียกผ่าน IFrames ที่ซ่อนไว้แทน).

ระบบจัดการแพ็จเกจ

Dojo มีระบบการจัดการเป็นแพ็จเกจ เพื่อให้สามารถแยกพัฒนาเป็นส่วนๆได้ โดยสคริปต์ส่วนหลักทำหน้าที่จัดสภาพแวดล้อมเพื่อเตรียมโหลดแพ็จเกจที่จะใช้ โดยสร้างเนมสเปซต่างๆ เช่น "io", "event", "lfx", และอื่นๆ ไว้ใต้เนมสเปซ "dojo" หลังจากนั้นเมื่อต้องการใช้แพ็จเกจใด ค่อยโหลดแพ็จเกจนั้นๆในระหว่างการทำงานขึ้นมา (เช่น ผ่าน XMLHttpRequest) โดยระบบจัดการแพ็จเกจสามารถโหลดแพ็จเกจอื่นๆนอกจาก เนมสเปซ "dojo" ได้ ทำให้สามารถเพิ่มเอกซ์เทนชัน (Extension) หรือ ไลบรารี (Library) อื่นๆของเราเองได้ด้วย

แพ็จเกจหนึ่งๆอาจประกอบด้วยไฟล์เดียว หรือหลายๆไฟล์รวมกัน. แต่ละไฟล์หรือแพ็จเกจ สามารถบอกความต้องการว่าต้องใช้ไฟล์หรือแพ็จเกจใดบ้างในการทำงาน เมื่อทำการโหลด ของที่ต้องการทั้งหมดจะถูกโหลดตามไปโดยอัตโนมัติ

แต่เว็บเบราว์เซอร์มักไม่เก็บข้อมูลจาก XMLHttpRequest ไว้ในแคช ต่างจากไฟล์ JavaScript ธรรมดาที่มักจะถูกเก็บไว้เสมอ ทำให้การอ้างแพ็จเกจต่างๆ ต้องทำการโหลดจากเซิร์ฟเวอร์ใหม่ทุกครั้ง เพื่อลดปัญหาดังกล่าวจึงมีการสร้างโค้ดแบบเป็น โพรไฟล์ (Profiles) ขึ้น โดยสามารถเขียนโพรไฟล์ระบุรายการแพ็จเกจที่จำเป็น จากนั้นใช้ Apache Ant ช่วย เพื่อรวมแพ็จเกจเหล่านี้เป็นไฟล์ JavaScript ที่บีบอัดแล้วไฟล์เดียว

สำหรับโพรไฟล์การใช้งานทั่วๆไปสามารถหาดาวน์โหลด ได้ในที่เดียวกันกับที่ให้ดาวน์โหลด Dojo ฉบับเต็ม


การเก็บข้อมูลในฝั่งผู้ใช้

นอกจากสนับสนุนการทำงานกับระบบคุกกี้แล้ว Dojo ยังมีระบบการเก็บข้อมูลในเครื่องผู้ใช้อย่างอื่นที่ เรียกว่า Dojo Storage ด้วย โดย Dojo Storage สามารถทำงานกับหลายเว็บเบราว์เซอร์ที่ได้รับความนิยมในปัจจุบัน เช่น อินเทอร์เน็ตเอกซ์พลอเรอร์, ไฟร์ฟอกซ์ และ ซาฟารี ในการทำงาน Dojo จะเลือกวิธีการเก็บข้อมูลที่เหมาะสมที่สุดในแต่ละเบราว์เซอร์เอง เช่น ใน ไฟร์ฟอกซ์ 2 จะใช้ระบบการเก็บข้อมูลของเบราว์เซอร์เอง (Native browser persistence), ในเบราว์เซอร์อื่นๆจะใช้ Flash applet. โดย Flash 6+ นั้นถูกติดตั้งมากกว่า 95% ของเครื่องคอมพิวเตอร์ที่ใช้อินเทอร์เน็ตได้ ทำให้ระบบการเก็บข้อมูลนี้สามารถใช้งานได้กับเว็บแอปพลิเคชันที่อยู่ทางฝั่งเซอฟ์เวอร์ส่วนใหญ่ สำหรับเว็บแอปพลิเคชัน ที่อยู่ภายในเครื่องของผู้ใช้เอง (อย่างเช่นในซีดีสื่อการสอน หรือ URL ที่ขึ้นด้นด้วย file://) สำหรับ ไฟร์ฟอกซ์ Dojo Storage จะใช้ XPCOM แทน และจะใช้ ActiveX แทนสำหรับ อินเทอร์เน็ตเอกซ์พลอเรอร์

นักพัฒนาสามารถใช้งาน Dojo Storage ในลักษณะเดียวกับการใช้ตารางแฮช (hash table) ผ่านการเรียก put() และ get()


ดูเพิ่ม

อ้างอิง

  1. A Brief History of Dojo
  2. https://dojo.io/blog/
  3. https://www.typescriptlang.org/samples/index.html
  4. "Dojo Toolkit License". Dojo Toolkit. สืบค้นเมื่อ 17 April 2017.

แหล่งข้อมูลอื่น

  • dojotoolkit.org (อังกฤษ)
  • Dojo Project's JotSpot wiki (อังกฤษ)
  • Dojo Foundation (อังกฤษ)
  • Ajaxian.com (อังกฤษ)

โดโจท, ลค, บทความน, งต, องการเพ, มแหล, งอ, างอ, งเพ, อพ, จน, ความถ, กต, อง, ณสามารถพ, ฒนาบทความน, ได, โดยเพ, มแหล, งอ, างอ, งตามสมควร, เน, อหาท, ขาดแหล, งอ, างอ, งอาจถ, กลบออก, งกฤษ, dojo, toolkit, เข, ยนตามสไตล, เป, dōjō, toolkit, เป, โอเพนซอร, dhtml, ลค, เข,. bthkhwamniyngtxngkarephimaehlngxangxingephuxphisucnkhwamthuktxng khunsamarthphthnabthkhwamniidodyephimaehlngxangxingtamsmkhwr enuxhathikhadaehlngxangxingxacthuklbxxkodocthulkhit xngkvs Dojo Toolkit ekhiyntamsitlepn dōjō toolkit epn oxephnsxrs DHTML thulkhith thiekhiyndwycawaskhript chwyinkarphthnaexaecksinewbaexpphliekhchn rierimody xelks rsesl Alex Russell in ph s 2547 1 phayitkarduaelkhxngmulnithiodoc Dojo Foundation misyyaxnuyat 2 aebbiheluxkich idaek syyaxnuyat BSD aela syyaxnuyat Academic Free 4 mulnithiodocepnxngkhkrimaeswnghaphlpraoychnmiwtthuprasngkhephuxsngesrimkarnathulkhithniipichnganodocthulkhit kxnrunthi 2 odoc tngaetrunthi 2 phuphthnaDojo Foundationwnthiepidtw khxphidphladniphcn epnxkkhraekhruxnghmaywrrkhtxnthiimruck minakhm ph s 2548 2005 03 3 khxphidphladniphcn mitwdaeninkar lt sungimkhwrmi khxphidphladniphcn mitwdaeninkar lt sungimkhwrmikxn 1 runlasud6 0 0 28 singhakhm ph s 2562 2019 08 28 711 wnkxn 2 ekhiynbnDojo Tookit 1 x JavaScript Dojo gt 2 x TypeScript 3 rabbptibtikarkhamaephltfxrmpraephthJavaScript toolkit or library syyaxnuyatThe modified BSD license hrux the Academic Free License 2 1 4 ewbisthttps dojotoolkit org https dojo io enuxha 1 khwamsamarth 1 1 ekhruxngmuxinhnaewbephc Widgets 1 2 karsuxsaraebbimtxenuxng Asynchronous communication 1 3 rabbcdkaraephcekc 1 4 karekbkhxmulinfngphuich 2 duephim 3 xangxing 4 aehlngkhxmulxunkhwamsamarth aekikhekhruxngmuxinhnaewbephc Widgets aekikh Dojo widgets epnekhruxngmuxtanginhnaewbephc ekhiynepnokhdsaercrupodyich JavaScript HTML aela CSS snbsnunkarthanganbnhlayebrawesxrthiaephrhlayinpccubn chwyihewbephctxbotkbphuichidnasnic aelaphthnangaykhun twxyangkhxngekhruxngmuxin Dojo widgets echn Menu Tab aela Tooltips tarangprbkareriyngladbihmid aephnphaphaebbidnamik aela twchwyinkarsrangphaphewketxr kartha Effects tang echn fades wipes aela slides aelatwchwyinkarsrang effects aebbtang Tree thisnbsnunkar drag n drop aebbfxrm aela fngkchninkartrwcsxbkhwamthuktxngkhxngaebbfxrm Date selector Time selector inrupkhxngptithin aela nalika Rich Text Editorkarsuxsaraebbimtxenuxng Asynchronous communication aekikh hnunginkhwamsamarthhlkkhxng exaecks aexpphliekhchn khux karsuxsaraebbimtxenuxng Asynchronous communication khxng ebrawesxr kbthangfngesirfewxr klawkhux samarthsngthayaelaaesdngphlkhxmulipphrxmknodyimtxngriohldthnghnaihmhmd pktiaelwkarthaechnnicatxngeriykich XMLHttpRequest in JavaScript sunginaetlaebrawesxr camiwithikareriykichthiaetktangknxyuelknxy Dojo nakarcdkarphunthan eruxngekiywkbkhxphidphlad pyhakarichnganekiywkbpum yxnklb pyhainkarkhnhna Bookmark aelakhwamaetktangrahwangebrawesxr khxngkareriykich XMLHttpRequest rwmiheriykphan dojo io bind ehmuxnknthnghmdaethn sungsamarthprbihichwithixunnxkcak XMLHttpRequest iddwy echn kareriykphan IFrames thisxniwaethn rabbcdkaraephcekc aekikh Dojo mirabbkarcdkarepnaephcekc ephuxihsamarthaeykphthnaepnswnid odyskhriptswnhlkthahnathicdsphaphaewdlxmephuxetriymohldaephcekcthicaich odysrangenmsepstang echn io event lfx aelaxun iwitenmseps dojo hlngcaknnemuxtxngkarichaephcekcid khxyohldaephcekcnninrahwangkarthangankhunma echn phan XMLHttpRequest odyrabbcdkaraephcekcsamarthohldaephcekcxunnxkcak enmseps dojo id thaihsamarthephimexksethnchn Extension hrux ilbrari Library xunkhxngeraexngiddwyaephcekchnungxacprakxbdwyiflediyw hruxhlayiflrwmkn aetlaiflhruxaephcekc samarthbxkkhwamtxngkarwatxngichiflhruxaephcekcidbanginkarthangan emuxthakarohld khxngthitxngkarthnghmdcathukohldtamipodyxtonmtiaetewbebrawesxrmkimekbkhxmulcak XMLHttpRequest iwinaekhch tangcakifl JavaScript thrrmdathimkcathukekbiwesmx thaihkarxangaephcekctang txngthakarohldcakesirfewxrihmthukkhrng ephuxldpyhadngklawcungmikarsrangokhdaebbepn ophrifl Profiles khun odysamarthekhiynophriflraburaykaraephcekcthicaepn caknnich Apache Ant chwy ephuxrwmaephcekcehlaniepnifl JavaScript thibibxdaelwiflediywsahrbophriflkarichnganthwipsamarthhadawnohld idinthiediywknkbthiihdawnohld Dojo chbbetm karekbkhxmulinfngphuich aekikh nxkcaksnbsnunkarthangankbrabbkhukkiaelw Dojo yngmirabbkarekbkhxmulinekhruxngphuichxyangxunthi eriykwa Dojo Storage dwy ody Dojo Storage samarththangankbhlayewbebrawesxrthiidrbkhwamniyminpccubn echn xinethxrentexksphlxerxr ifrfxks aela safari inkarthangan Dojo caeluxkwithikarekbkhxmulthiehmaasmthisudinaetlaebrawesxrexng echn in ifrfxks 2 caichrabbkarekbkhxmulkhxngebrawesxrexng Native browser persistence inebrawesxrxuncaich Flash applet ody Flash 6 nnthuktidtngmakkwa 95 khxngekhruxngkhxmphiwetxrthiichxinethxrentid thaihrabbkarekbkhxmulnisamarthichnganidkbewbaexpphliekhchnthixyuthangfngesxfewxrswnihy sahrbewbaexpphliekhchn thixyuphayinekhruxngkhxngphuichexng xyangechninsidisuxkarsxn hrux URL thikhundndwy file sahrb ifrfxks Dojo Storage caich XPCOM aethn aelacaich ActiveX aethnsahrb xinethxrentexksphlxerxrnkphthnasamarthichngan Dojo Storage inlksnaediywkbkarichtarangaehch hash table phankareriyk put aela get duephim aekikhPrototype Javascript Framework exaecks cawaskhript XMLHttpRequestxangxing aekikh 1 0 1 1 A Brief History of Dojo https dojo io blog https www typescriptlang org samples index html 4 0 4 1 Dojo Toolkit License Dojo Toolkit subkhnemux 17 April 2017 aehlngkhxmulxun aekikhdojotoolkit org xngkvs Dojo Project s JotSpot wiki xngkvs Dojo Foundation xngkvs Ajaxian com xngkvs ekhathungcak https th wikipedia org w index php title odocthulkhit amp oldid 8808347, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม