با اینکه آینده زمل قابل پیش بینی نیست ولی افراد زیادی هستن که از این تکنولوژی تو برنامه هاشون استفاده میکنن و شاید این موجب بشه تا مایکروسافت مجبور به توسعه اش بکنه. تازگیا خبرهایی هم از ادامه پشتیبانی مایکروسافت از زمل با اومدن ویندوز 10 به گوش میرسه (که دعا می کنیم این خبرا راست باشه).
خب تو این پست قراره بریم سراغ چند تا از قابلیت های زمل تا تردید اونایی که می خوان بیان سمتش کمی رفع بشه. پس با هم همراه بشیم.
انعطاف پذیری
به جرات میتونم بگم انعطاف پذیرتر از این جایی نمی تونین پیدا کنین. لامصب مثل خمیر نونوایی ـه ، به هر شکلی که بخوای می تونی درش بیاری. مثلاً می خوای کنترل نوار وضعیت (Progress Bar) رو که ظاهری راست داره رو به شکل دایره دربیاری (مثل نوار های وضعیت حلقه ای که تو IOS یا وینفون یا اندروید هستن). درواقع زمل بهتون این اجازه رو میده که به ساختار داخلی کنترل دسترسی داشته باشین و تغییرات مدنظر رو توش اعمال کنین.
بازم یه مثال بزنم ایندفعه از ساختار درختی کنترل Button:
اول از همه کنترلی از نوع ControlTemplate وجود داره که این در واقع پایه هر کنترلیه و بعد از اون نوعی بنام ButtonChrome هست که داخل کنترل قبلی قرار میگیره و در نهایت متن Buttton میمونه که اونم از نوع ContentPresenter ـه و اینم داخل کنترل قبلی جای میگیره. واسه درک بهتر تصویر زیر رو یه نگاهی بندازین:
اتصال (Binding)
مثال: فرض کنید یه دیتابیس و یه لیست باکس دارین و اتصال فیلد های دیتابیس رو از طریق Binding به کنترل لیست انجام دادین. اگه بصورت دستی دیتابیس رو از منیجرش آپدیت کنین لیست هم بصورت خودکار اقدام به آپدیت خودش میکنه. بدون اینکه از کارای Binding خبری داشته باشیم خودش تو پشت پرده به آسونی هر چه تمام عملیات مربوطش رو انجام میده. اگه کمی به شبکه بندی آشنا باشین متوجه میشین که کار Binding تقریباً شبیه شبکه Circle ـه. به این طریق که وا می ایسته پشت در دیتابیس و هر موقع دیتابیس در رو باز میکنه و فیلد جدید رو بهش میده میبره و میده به کنترل هدف و بهش میگه خودت رو بروزرسانی کن :)
بهینه سازی
بعضی از کنترل ها توی ساختار داخلیشون اجزایی دارن که زیاد مورد استفاده کاربر قرار نمی گیره در واقع یه جزء اضافی محسوب میشه که تو این حالت توسعه دهنده میتونه اونرو حذف کنه.
میدونم حالا با خودتون میگین با حذف یه جزء کوچیک اتفاق خاصی رخ نمیده. درسته. ولی این ویژگی تو پروژه های بزرگ خیلی به درد می خوره (قطره قطره جمع گردد وانگهی دریا شود)
خودتون هم میتونین امتحانش کنین :)