دوجو یک کتابخانه جاوا اسکریپت است که از نظر کارابرد بسیار شبیه به 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 ندیدم.
پاسخدرمورد کتابخانه dojoاطلاعات دارید
پاسخ