دوجو چیست

دوجو  یک  کتابخانه  جاوا اسکریپت است که از نظر  کارابرد  بسیار  شبیه  به jquery میباشد.اما  شاید این  سوال باری  شما پیش بیاید که اصلا  چرا باید از دوجو استفاده کرد..کجاها کاربرد داره و  از  این قبیل  سوال ها.

دوستان  عزیز  باید اعتراف کنم  که خودم  فقط  در  پروژه ها  web gis   که  از  کتابخانه APi ArcGIS javascript  استفاده کرده باشم ،  مجبورم  از  دوجو استفاده کنم...البته  از  jquery  هم  میشه  کنار  DOJO   استفاده کرد .. اما  کتابخانه  ArcGIS  javascript API    با استفاده  از Dojo  پیادخ سازی  شده.پس  لازم است که  برای  اینگونه پروژه  ها  Dojo    را  یاد بگیریم.

به طور خلاصه بهترین جا برای  استفاده  از   دوجو  زمانی است که  قصد دارید  یک  وب جی آی اس بسازید آن  هم  با  ArcGIS Javascript  API .

خوب  برای شروع کار  ما باید یا این  کتابخانه را دانلود کنیم  یا  باید  ببنیم  روی  اینترنت کجا آپلود  شده  ،  که  بتونیم از اون تو پروژه  خودمون استفاده کنیم

من  روش  دوم  رو ترجیح میدم.. از اونجایی که  لایبراری ArcGIS  javascript API   رو  با  Dojo  نوشتن  ،  ما وقتی  یه  ارجا  به این کتابخونه  داشته باشیم  دیگه  لازم نیست کار خاصی انجام بدیم

دوستان  با وارد کردن  همین  دو خط بالا ،  دیگه نباید کار خاصی برای  اضافه کردن  DOJO   به  پروژه  انجام بدین.دقت کنید که  من  ورژن  4.15    اینجا اضافه کردم..

ورژن  4   به بعد  برای  نمایش  نقشه های  سه بعدی کاربرد داره و  ورژن  3  یا  3.X  برای  نقشه های  دو بعدی

شاید بپرسین که  حتما  ورژن  3.X   دیگه استفاده  نمیشه  ، اما  اصلا این طور  نیست.  تو تمام  پروژه هایی که ما کار کردیم  از همین  ورژن  استفاده  کردیم..تفاوت زیادی هم ندارند.

خواهیم دید که  استفاده از اون ها چقدر راحته .

خوب برای  شروع کار  ما  باید  به  Dojo  بگیم   که  از  کدوم  ماژول  ها  قصد داریم استفاده کنیم. اما  چوری

اول  یه  تگ script   باز کنید و  تکه کد زیر رو  توش  کپی  کنید.

require(["dojo/dom"], function(dom){
    // fetch a node by id="someNode"
    var node = dom.byId("Div1");
});

فرض کنید  که  یه  div   داریم  با  Id=Div1

برای پیدا کردن  این  المنت  روی  پیج میتونیم از  متد dom.byId  استفاده کنیم..اما  این متد  از  کجا اومده؟

اگر  خط  اول  کد بالا رو ببینید   .این  تکه کد  require(["dojo/dom"], function(dom)....اینجا  در   با استفاده  از  متد یا  فانکشن  require  ،  ما به  Dojo   میگیم که  چه ماژول هایی رو نیاز داریم.ایم مند به این صورته که 2 تا  پارامتر ورودی میگیره..اولی  یه  آرایه  از نام  ماژول هایی که  لازم  داریم... دومی   یه  fuction

تو این fuction  ما  باید به ازای  هر تعدادی  ماژولی  که  به عنوان آرایه  به  require  ارسال  کرده ایم  ،  باید  به همون تعداد  پارامتر وارد کنیم  ..نام پارامتر ها اختیاریه..دل به خواهی...

اما  باید دقت کنیم  که هر کدوم از این  اسامی  به ترتیب  به  یک  ماژول  مرتبط خواهند شد...یعنی  یک ارجاعی   به او ماژول  خواهند  شد..مثلا  تو کد بالا   ما  dom    رو  به  function پاس  دادیم..پس  dom  یک  ارجاع  به ماژول  "dojo/dom"  خواهد بود..یعنی  هر چی  فانکشن ، پراپرتی  و کلاسی  که تو  ماژول  "dojo/dom"  تعریف شده  باشه ،  در متغیر  dom   در دست رس خواهد بود...این نکته مهمیه.

به این مدل  فراخوانی ماژول ها    به  اصلاح  میگن  AMD  .. یا  Asynchronous Module Definition  که  متد reqire   ماژول  ها رو برای ما  بارگداری میکنه.

حتما دوستان  به یاد دارن که معادل  این کد تو  jquery   چی بوده...میبینین  که چقدر  شبیه  هم هستن.. بازم  اینجا میگم که  فقط  تو  webgis  هاتون  از  Dojo   استفاده کنین.

انشالله  در مقاله های بعدی  بیشتر  در باره  این  لایبراری  صحبت مبکنیم.

موفق باشد.


  • سلام.آیا امکان داره برای ایجاد یک وب جی آی اس فقط از jquery استفاده کنیم؟ یا دوجو هم باید باشه؟

    پاسخ
    • سلام محمد جان..جواب  سریع به سوال شما  نه  میباشد..تا جایی که من میدونم..

      ببین  لایبراری های  زیادی  برای  توسعه  یه  وب جی آی اس وجود داره...مثل Arcgis Javascript API  ...Openlayer...Leaflet  ..google     . اما  در کنار  این ها میتونی  از  jquery  برای  کارهای  دیگه  استفاده کنی که  خودم هم استفاده میکنم..مثلا یه گرید  میخوای  نشون بدی  یا  یه  Modal  میخوای باز کنی .

      من هر چی  پروژه دیدیم با این کتابخونه  ها نوشته شده بود...تنها  با  jquery  ندیدم.

      پاسخ