چه زمانی از کنترل‌های سفارشی در برنامه‌مان استفاده کنیم

خیلی وقت‌ها در پروژه ها انتخاب و استفاده از کنترل‌های از پیش ایجاد شده یکی از بحث‌های جدی است. مثلا اینکه شما در برنامه‌تان یک TreeView یا GridView یا SpreadSheet نیاز دارید که امکانات خاصی ( مثلا قابلیت استفاده از کیبورد برای راهبری کاربر ) را داشته باشد. در این موارد است که کنترل‌های Asp.net نیاز شما برآورده نمی کند. گرچه جدیدا کنترل‌های Asp.net Ajax Control Toolkit هم به تعداد این ابزارها افزوده است اما کماکان انتخاب از بین کنترل‌های موجود دردسرهای فراوانی دارد. در زیر نکاتی را که به نظر من باید در انتخاب یک کنترل در نظر گرفت لیست کرده‌ام.

     ۱.     قابلیت راست به چپ. بی شک مهمترین نکته‌ای که در برنامه‌های فارسی زبان باید در نظر داشت بحث پشتیبانی از راست به چپ است. چه بسیار کنترلهایی هستند که تمام انتظارات شما را برآورده می‌کنند اما قابلیت استفاده راست به چپ را ندارند.

     ۲.     در دسترس بودن سورس کنترل. به این معنی که هنگام تهیه و انتخاب کنترل آیا شرکت فروشنده، سورس کنترل را هم به شما می‌دهد یا نه. ( این مطلب در پاره‌ای از موارد بسیار حیاتی است مثلا در جایی که کنترل‌ها همه انتظارات شما را برآورده کرده‌اند و فقط راست به چپ نیستند در این موارد می‌توانید با تغییر سورس کد کنترل، قابلیت‌های جدیدی را به آن بیافزایید و یا آن را هر طوری که مایل هستید سفارشی کنید. )

     ۳.     آینده نگری. فرض کنید شما از یک کنترل کدباز استفاده می کنید و هم سورس آن را در اختیار دارید و هم قابلیت راست به چپ دارد. اما این کنترل را وقتی شما استفاده کردید تحت دات نت ۲ بوده و در حال حاضر که دات نت ۳.۵ هست، نسخه جدیدتر این برنامه از حالت رایگان به نسخه های قابل فروش تبدیل شده ( گرچه معمولا در این موارد چون کنترل کدباز بوده سورس قبلی هم برای دات نت ۳.۵ وجود دارد و می توان از آن استفاده کرد. اما در بیشتر موارد کد نسخه های بالاتر آن قدر محدودیت دارد که شما مجبورید از نسخه تجاری استفاده کنید. این اتفاق دقیقا برای خود من افتاده و تجربه بسیار تلخی در این زمینه دارم. (گرچه کنترل را من معرفی نکردم اما مسئولیت پیدا کردن نسخه جدید بر عهده من بود که هنوز هم موفق به پیدا کردن آن نشدم ))

     ۴.     ظاهری قابل تغییر. دربیشتر کنترل های Asp.net و یا هر کنترل دیگری قابلیت Skin وجود دارد و می تواناز بین حالت های مختلف یکی را انتخاب کرد. توجه کنید که ظاهر کنترلی که انتخاب می کنید با ظاهر برنامه شما زیاد متضاد نباشد و باعث به هم خوردن ظاره برنامه نشود . در این موارد معمولا کنترل هایی که قابلیت ایجاد پوسته را دارند در اولویت بالاتری قرار دارند.

     ۵.     قیمت و نسخه های مختلف تجاری. بیشتر کنترل‌های مناسب و بدرد بخور در حال حاضر کنترل های تجاری هستند و هر کدام در نسخه های مختلف و با محدودیت‌ها و پشتیبانی‌های مختلفی بفروش می رسند . در هنگام تهیه یک نسخه تجاری توجه کنید که بیش از نیازتان چیزی را خریداری نکنید. مثلا اگر نسخه ۵ کاربره و ۱۰ کاربره وجود دارد و تفاوت قیمت چشمگیری در این دو نسخه وجود دارد و هیچ تفاوت دیگری نیست. معمولا به صرفه نیست که شما نسخه ۱۰ کاربره را تهیه کنید. البته اگر شما واقعا ۵ کاربر دارید. خود من در ایران کمتر شرکتی را دیدم که بیش از ۱۰ کاربر همزمان روی چیزی کار کنند معمولا تیم با تعداد نفرات متفاوت در بخش های مختلف متمرکز است و نیازی نیست که همه آنها بتوانند تغییرات در رابط کاربری ایجاد کنند.

     ۶.     پشتیبانی نسخه‌های تجاری. از آنجا که کشور محبوب ما در خارج از مرزهای خودمان چندان هم محبوب نیست و کمی محجور واقع شده ، معمولا شرکت های آمریکایی ( که اکثریت قریب به اتفاق شرکت های تولید کننده کنترل های سفارشی را تشکیل می دهند ) برای نسخه های تجاری که به ایرانی ها فروخته می شود پشتیبانی را در نظر نمی گیرند ( بخاطر تحریم و … ) توصیه می کنم محصولات را با یک واسطه خریداری کنید و یا اینکه همه کارها را الکترونیکی انجام دهید و صرفا با ای-میل در ارتباط باشید. اصولا قید تلفن را بزنید و فقط روی ای-میل حساب باز کنید. اگر کنترلهایی که می خواهید خریداری کنید خیلی باید توسط شرکت اصلی تغییر نند و یا درخواست های زیادی دارید. قبل از خرید همه را با آنها فیکس کنید و اگر SLAیی وجود دارد حتما موارد جدیدی را به آن اضافه کنید.

     ۷.     License Agreement را حتما مطالعه کنید. خیلی وقتها ممکن است به مشکلاتی بر بخورید که نیاز به ارجاع به شرکت سازنده دارد مثلا پشتیبانی از یونیکد و راست به چپ و … در این موارد اگر هنگام سفارش کنترل‌ها توافقنامه را مطالعه نکرده باشید و در آنجا شرکت اصلی در ازای تغییرات  از شما طلب وجه نقد بکند شما مجبورید بپردازید. معمولا License Agreement ها کاملا یکطرفه نوشته می‌شوند. اگر بین انتخاب چند گزینه مردد هستید توجه به این قسمت شاید انتخاب شما را کمی آسان کند.

     ۸.     Source برنامه های تجاری را حتما تهیه کنید. اگر در قصد خرید یک سری کنترل را دارید حتما سورس آن را نیز از شرکت خریداری کنید تا در مواقع لزوم بتوانید تغییرات مورد نیازتان را شخصا در آن اعمال کنید.

     ۹.     مستندات کنترل ها را تهیه و مطالعه کنید. در بیشتر موارد در مستندات روش های مناسب و بهینه ای برای استفاده از کنترل ها آورده شده و در برخی موارد ممکن است چشمات به قابلیتی بیفتد که اصلا انتظار دیدن آن را ندارید. مثلا در برنامه شما انتظار استفاده از کیبورد را ندارید و هنگان خریداری هم به این نکته توجهی نکردید. اما از شانس شما کنترلی که تهیه کرده اید این قابلیت را دارد. پس سعی کنید برای بهتر شدن رابط کاربری‌تان حتما از قابلیت‌های ویژه آن استفاده کنید.

     ۱۰.    وقتی کنترل تهیه کنید که به آن نیاز دارید. خیلی وقتها همین کنترل‌های ساده دات نت هم کار شما را راه می‌اندازد و نیازی نیست که شما کنترل جدیدی تهیه کنید. چه اصراری به استفاده از کنترل‌های سفارشی دارید!!!

     ۱۱.    نسخه اصلی کنترل‌های تجاری را تهیه کنید. خیلی وقتها ما در ایران بخاطر اینکه هزینه کمتری متقبل شویم از کنترل‌های تجاری بصورت قفل شکسته ( کرک شده ) استفاده می کنیم. خود من همیشه در استفاده از این کنترل‌ها مردد بوده‌ام گرچه چند بار از این موارد استفاده کرده‌ام اما اکیدا توصیه می‌کنم که اگر قصد استفاده از نسخه‌های تجاری و بخصوص صصادر کردن نرم‌افزار به خارج از کشور را دارید، حتما License کنترل‌ها را خریداری کنید. همانطور که در بالا هم گفتم تا آنجا که ممکن است در استفاده از کنترل‌های سفارشی صرفه جویی کنید.

نکات دیگری هم می‌توان به این موارد افزود که در حال حاضر هم تمرکز کافی ندارم و هم مطلب خیلی طولانی شد. به همین دلیل سایر مطالب را به دوستان واگذار می‌کنم و امیدوارم اگر کسی تجربه‌ای در این زمینه دارد در بخش نظرات آن را با سایرین قسمت کند.

2 Responses to چه زمانی از کنترل‌های سفارشی در برنامه‌مان استفاده کنیم

  1. سلام

    خبرخوان (تکست و گرافیکی)، لیست و فید وبلاگ‌های «آی تی» ارائه شده است که وبلاگ شما نیز جز آنها قرار گرفته است.

    این خبرخوان یکی دیگر از محصولات همکاری جمعی در پرشین بلاگرز است که با همکاری و مدیریت آقای سید یوسف منیری به وبلاگ‌شهر عرضه شده است.

    http://persianbloggers.blogspot.com/2008/12/it-p.html

    پرشین بلاگرز شما را به بازدید و استفاده از این خبرخوان و 24 خبرخوان دیگر موجود دعوت می‌کند.

  2. حامد says:

    تشكر. نكته هاي مفيدي بود.
    ضمنا اصلاح بفرمائيد: حياطي است ===> حياتي است.
    متاسفانه با اين مشكلات زياد برخورد داشتم.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: