در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

بومی سازی کامپوننت های حرفه ای DevExpress - بخش دوم

DevExpress Farsi

سلام خدمت تمامی ITPROهای عزیز، در (بخش قبلی) به معرفی مختصری از این ابزار برای آندسته از دوستانی که آشنایی چندانی با این مجموعه کامپوننت های کاربردی نداشتند پرداختیم و نیز برخی از مزایا و معایب استفاده کردن از آنها در پروژه های نرم افزاری خود را بیان کردیم. در این بخش قصد داریم در مورد محصولات شرکت DevExpress که با ظرافت ودقت بسیار بالاتری نسبت به سایر کامپوننت های مشابه از شرکتهای رقیب تولید شده اند و توجه بسیاری از توسعه دهندگان در سرتاسر جهان را بخود جلب کرده اند بیشتر صحبت کنیم. شرکت Developer Express در سال ۱۹۹۸ تاسیس شده و با ارائه‌ی کامپوننت‌های دلفی و C++Builder و همچنین کامپوننت‌های .NET به‌سرعت خودی نشان داده و به یکی از بهترین شرکت‌های ارائه‌کننده‌ی کامپوننت‌های برنامه‌نویسی تبدیل شد. امکاناتی از قبیل طراحی رابط‌‌ های کاربری با گرافیک و امکانات فوق‌ العاده چشمگیر و پیشرفته، گزارش‌گیری کامل و دقیق برای انواع پلت ‌فرم‌های رومیزی و همراه و نیز ابزار بررسی رفع خطای کدهای برنامه‌نویسی در ویژوال استودیو توسط این مجموعه ارائه شده است و همچنان نسخه های مختلف را در این زمینه ها به کاربران خود ارائه میدهد. برای آشنایی بیشتر با تغییرات بوجود آمده در نسخه های مختلف از این مجموعه کامپوننت ها طی سالهای گدشته تاکنون، می توانید به (این لینک) مراجعه نمائید. کامل ترین مجموعه از محصولات این شرکت نسخه Universal می باشد که جهت مشاهده جزئیات بیشتر در اینمورد نیز می توانید به (این لینک) مراجعه کنید.

با توجه باینکه شرکت DevExpress دائم در حال ارائه نسخه های بروز رسانی شده و یا جدید از این کامپوننتها می باشد چند روزیست که تیم برنامه نویسی این شرکت محصول DevExpress2016.1 خود را نیز به بازار عرضه کرده است که جهت اطلاعات بیشتر از امکانات جدیدو چشمگیری که در اولین نسخه از 2016 خود در پلتفرم های مختلف (بخصوص در بخش ASP.NET MVC) ایجاد کرده است می توانید به (این لینک) و در مورد آخرین ویرایش و امکاندهی های نسخه 2015 خود در سال 2015 (نسخه 15.2.9) به (این لینک) مراجعه نمائید.

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

به شخصه از سال 2012 که با محصولات این مجموعه آشنا شدم، همیشه در فکر جستجوی راهکارهایی برای بومی سازی سورس این محصولات دوست داشتنی و حرفه ای با زبان فارسی و استفاده در پروژه های خود بودم. ناگفته نماند این شرکت جهت بومی سازی کامپوننت های خود فایل های Resource ای را همراه با محصولات خود ارائه میدهد تا همانطویکه میدانید از این طریق برچسب ها و متون انگلیسی آبجکت ها را مطابق با زبان و Cultureایی که برنامه نویس در سورس کد خود Set کرده، در حالت (Run Time) ترجمه و برای کاربران نهایی به زبان مورد نظر نمایش میدهد ولی متاسفانه از طرفی این فایل های Resource بسیار ناقص بوده و حتی برخی از عبارات آنها خوب ترجمه نشده و نیاز به تصحیح و یا ایجاد دارند و از طرفی دیگر (تا قبل از ارائه نسخه 15 توسط شرکت اصلی)، کامپوننت های بخش ویندوز فرم از این مجموعه امکان RightToLeft را در هیچکدام از آبجکتهای خود نداشتند که این مورد نیز مزید برعلت میشد تا اکثر برنامه نویسان از بکارگیری این ابزار کاربردی در پروژه های نرم افزاری خود امتناع کنند. تصاویر زیر مربوط به بومی سازی (فقط) تعداد اندکی از آبجکتهای بومی سازی شده (در سالهای 2013 و 2014) میباشند.

DevExpress Farsi

DevExpress Farsi

DevExpress Farsi

با تصحیح فایل های ریسورس دیگر شاهد متون زبان اصلی این ابزار در حالت RunTime نخواهیم بود به عنوان مثال: تصویر زیر یکی ازمنوهای Scheduler در زمان اجرا با کالچر تعیین شده به (fa-IR) را در حال استفاده از فایل ریسورس فارسی تصحیح شده نمایش میدهد.

DevExpress Farsi

حال فرض کنید برنامه نویسی در یکی از پروژه های خود از (نسخه اصلی) این کامپوننت ها استفاده کرده و در ابتدای سورس کدهای خود، کالچر را به (fa-IR) تنظیم کرده باشد و در نهایت پروژه خود را Release و در اختیار کاربران نهایی قرار دهد. در اینصورت نه تنها زیبایی و امکانات چشمگیر این کامپوننت ها زیر سئوال میرود بلکه هرچقدر هم که برنامه نویس برای توسعه محصول خود زمان و انرژی صرف کرده و امکانات فنی و کاربردی بسیار عالی برای راحتی کاربران نهایی استفاده کننده درنظر گرفته باشد، از نظر استفاده کنندگان، آن محصول در مقایسه با محصولات مشابه از سایر رقبا که از این ابزار استفاده نکرده اند، با محیطی بسیار خسته کننده و یک UI بسیار ضعیف با کارآیی پائین بچشم می آید، و حال آنکه شرکت DevExpress با یک ترفند اورژانسی و تغییر Layout برخی از آبجکتها بمنظور استفاده از خاصیت DirectionRightToLeft در حالت نمایشی و Editorها، باعث تضاد و دوگانگی شدیدی نسبت به نسخه های قبلی خود برای توسعه دهندگان قارسی زبان شده است و خوشبختانه آندسته از برنامه نویسانی که برای تخصص، زمان و انرژی خود ارزش قائلند مطمئناً برسر یک سه راهی قرار میگیرند که: الف) عطایش را برلقایش بخشیده و از کامپوننت های شرکت جانوس وتلریک استفاده کنند ب) کامپوننت های بومی سازی شده DevExpress با پشتیبانی کامل از زبان فارسی را تهیه کنند ج) بمدت چند ماه کاری (که بسته به میزان تخصص و مهارتشان به زبان سی شارپ متفاوت است) بر روی بومی سازی این مجموعه فوکاس کرده تا به نتایج و امکاناتی مشابه تصاویر زیر دست یافته ونهایت استفاده از آنرا در پروژه های آتی خود ببرند.

DevExpress Farsi

DevExpress Farsi

و خیلی از آبجکتهای کاربردی دیگر که تصاویر برخی دیگر از آنها را در (بخش اول) برای دوستان قرار داده ایم ولی تصور کنید چنانچه بخواهیم در مورد بیش از 150 کامپوننت ویندوزی تصاویر و توضیحات دقیق تری را قرار دهیم چه خواهد شد؟!! حال سایر پلتفرم هایی که این کامپوننت ها پشتیبانی میکنند جای خود دارد.بنابراین در هرقسمت به توضیحات یکی دو نمونه بسنده میکنیم. همانطوریکه میدانید سورس کدهای مجموعه Universal این کامپوننت ها در سایتهای مختلف در دسترس میباشد و مطمئناً خیلی از شما دوستان برای یکبار هم که شده سورس کدهای آنرا دانلود کرده و به پیچیدگی آن پی برده اید. حال بعد ار این توضیحات قصد داریم تا حدودی کامپوننت های نسخه 15.2.9 (که آخرین محصول Release شده سال2015 شرکت DevExpress میباشد) را کمی به چالش کشیده و دلیل بوجود آمدن آن تضاد و دوگانگی که پیش تر از آن یاد کردیم را بیشتر شفاف سازی کنیم. از عمده ترین نقاط ضعف این محصول (در نسخه اصلی) می توان از موارد زیر یاد کرد:

1) ناقص بودن فایلهای Resource ارائه شده توسط شرکت اصلی برای بومی سازی متون.

2 ) عدم پشتیبانی اکثر قسمتهای اصلی وکاربردی کامپوننت های ویندوزی از RightToLeft، که از مهمترین آنها می تون به: (عناوین فرم ها – Export داده ها به Excel – PDF و سایر فرمتها – پیش نمایش گزارشات- فرم طراح گزارشات (Report Designer) با کلیه آبجکتهای مربوطه – فرم آلارم و نیز سایر قسمتهای مهم دیگر) اشاره کرد. لطفاً به تصویر زیر دقت کنید:

DevExpress Farsi

3) عدم پشتیبانی از تاریخ شمسی که یکی دیگر از مهمترین موضوعاتی است که باعث دلزدگی بسیاری از برنامه نویسان در استقاده از این کامپوننت ها شده است زیرا بدون این امکان، نه تنها استفاده از آبجکت DateEdit بلکه استفاده از کالندارهای زیبا وپیشرفته ی آنرا نیز از دست میدهند. ضمن اینکه نبود این امکان در این مجموعه، آنها را در استفاده از کامپوننت های مهمی مانند: XtraGrid- PivotGrid –Scheduler– Report & Preview- -Menus – Toolbars -ReportDesigner- Dashboards و دیگر بخشها در استفاده از تاریخ شمسی ناکام میکند. تصویر زیر فقط به یک مورد از چندین مورد استفاده از DateEdit و پشتیبانی از تاریخ شمسی (با/بدون) کالندار اشاره دارد که در منوهای RightClick از فرم اصلی Scheduler مشاهده میشود.

DevExpress Farsi

سه مورد فوق الذکر از مهمترین مواردی هستند که بطور خیلی خلاصه وار در مورد نسخه 15.2.9 از این محصول مطرح کردیم، در حالیکه تصحیح و اعمال تغییرات مورد نیاز جهت بومی سازی این مجموعه در زبان فارسی، مستلزم مرور چندمیلیون خط کدنویسی سورس شرکت اصلی، جهت اعمال تغییرات بوده که خود مستلزم شرایط خاصی است که در (بخش اول) به آنها نیز اشاره شد.

به عنوان یک مثال ساده: چنانچه شما تصمیم به ایجاد پشتیبانی از تاریخ شمسی در یک آبجکت معمولی مانند DateEdit از این ابزار را داشته باشید بدین شکل نیست که فقط در پروژه چندهزار سطرکدنویسی شده XtraEditor نقاط مربوطه ی محاسباتی را شناسایی و کدهای خود را در آن تزریق نمائید، بلکه همانطوریکه در بخشهای قبلی نیز تاکید کردم، تک تک این پروژه ها (یا بهتر است بگوئیم کامپوننت ها) شدیداً از یخشهای خاص و مختلف یکدیگر تغذیه میشوند و به همین دلیل توسعه دهنده ای که قصد ایجاد هرگونه تغییری را در هر کدام از بخشهای مختلف آن دارد، باید بسیار با احیتیاط با این موضوع برخورد کند چرا که حتی اگر کدهای وی (فقط) پاسخگوی این مثال ساده ی ما باشد امکان بهم ریختگی و Errorهای کلافه کننده ضمن Compile در سایر پروژه ها مشاهده خواهد شد و برای ردیابی و رفع آن اشکال ساده ممکن است چندین روز کاری کامل زمان را از آن توسعه دهند بگیرد. البته این مثال فقط در ساده ترین حالت از یکی از آبجکتها بود حال فرض کنید بومی سازی هر سه مدل از کالندارهای (Vista- Standard- Touch) از آبجکت DateEdit را نیز در نظر دارید و در سطحی بالاتر فرض کنید قصد بومی سازی کل مجموعه را داشته باشید...!!

در حقیقت این بمعنای یک چالش بسیار بزرگ برای توسعه دهنده هائی است که قصد بومی سازی این مجموعه را دارند و این اصلاً کار بسیار دشواری نیست که در مطالب بعدی از حاشیه ها کم کرده و بیشتر به راهکارهایی برای رفع این مشکلات در نسخه های اصلی خواهیم پرداخت و تاکید میکنم که فقط راهکار ارائه خواهم داد و نه سورس کد.

در بخشهای بعدی با ما همراه باشید.

#آموزش_دات_نت #معرفی_کامپوننت_devexpress #دوو_اکسپرس_بومی_سازی_شده #بومی_سازی_devexpress #devexpress_بومی_سازی_شده #آموزش_برنامه_نویسی #devexpress_فارسی_سازی_شده #کامپوننت_devexpress #devexpress_چیست
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....