0

چرا به دات نت احتياج داريم؟

 
mohamadaminsh
mohamadaminsh
کاربر طلایی1
تاریخ عضویت : دی 1389 
تعداد پست ها : 25772
محل سکونت : خوزستان

چرا به دات نت احتياج داريم؟

چرا به دات نت احتياج داريم؟

 نویسنده :  scro.ir    1386.8.22     479 بار مشاهده  

  به طور معمول نسل های جديد زبان های برنامه نويسی به اين دليل متولدمی شوند که زبان های قديمی تر دارای امکانات محدود بودند و يا قدرتاستفاده از تکنولوژی های فعلی را به صورت مطلوب و ساده ندارند.
مهمترين نيازی که به عنوان آخرين تکنولوژی وجود دارد، برنامه نويسیدر محيط اينترنت است. اينترنت در مدت تقريبا ۸ سال جای خود را به عنوانيکی از مهمترين وسايل ارتباطی برای کارهای روزمره و تجارت باز کرده است. سيستم های برنامه نويسی قديمی تر امکان برنامه نويسی برای اينترنت رافراهم کرده بودند اما هر کدام دارای اشکالات بزرگی هستند، برای مثال تکنولوژی COM اولين بار در ويندوز به کار گرفته شد. در سال 1970 نيز سيستمهايی برای Unix نوشته شده بودند، جاوا نيز در اصل برای ابزارهای الکترونيکی بود و نه برای اينترنت.

سپس برای اولين بار يک سيستم جامع برای برنامه نويسی تحت اينترنت ايجاد شد. اين سيستم -NET. از مراحل سطح پايين که به زبان ماشين می باشد تا بالاترين سطح که برنامه نويسی ويژوال آن می باشد برای استفاده در اينترنت طراحی شده است. البته  دات نت ‌فقط برای اينترنت نيست و با استفاده ازآن می توان برنامه های کامل تحتClient نيز ايجاد کرد، اما بزرگترين مزيتآن دربرابر سيستم های ديگر امکانات اينترنت آن است.
برای اينکه مزايای استفاده از دات نت را  بهتر متوجه بشويم بهتر است درابتدا معايب سيستم های پيشين را ذکر کنيم. شرکت مايکروسافت تا قبل از سال1995 به برنامه نويسی در محيط هایClient وServer می پرداخت، اما از آنسال به بعد توجه بيشتری به مساله برنامه نويسی در اينترنت کرد. مايکروسافتCOM و+COM را ايجاد کرد و آنها را در ويژوال استوديوی 6 به کار گرفت. درسال 1999 حدود ۵۰ در صد از بزرگترين سايتهای تجارت الکترونيکی از محصولاتمايکروسافت استفاده می کردند. اما هنوز هم مشکلات بزرگی در سيستم هایمايکروسافت وجود داشت که يکی از آنها دشواری نوشتن برنامه در اينترنت بامحصولات مايکروسافت بود. شرکت مايکروسافت برای راحتی کار برنامه نويس هاASP ياActive Server Page را ايجاد کرد. با اينکه اين يک قدم بزرگ بود وکارها را بسيار ساده کرد ولی هنوز از برنامه نويسی شی گرا پشتيبانی نمیکرد. همچنين در ويژوال استوديوی 6 قسمتی برایInternet Application ايجادشده بود و در آنها امکان ساختنWeb Class وجود داشت ولی هيچ وقت به عنوانيک ابزار کار آمد برای برنامه نويسی وب درنظر گرفته نشد.

مدل برنامه نويسی DNA

مايکروسافت يک مدل برنامه نويسی به نام Distributed interNet Application دارد که بر پايه برنامه نويسی n-tier و COM بنا نهاده شده است. مدل DNA از سه بخش اساسی تشکيل شده است .
بخش اول به نام Presentation tire معروف است. در اين بخش رابط تصويری کاربر وجود دارد و خود نيز به دو نوع Internet Browser و Win 32 GUI تقسيم می شود که هر کدام مشکلات خاص خود را دارند. در مدلی که از Win32 GUI يا همان نرم افزارهای معمولی استفاده می شود دو مشکل بزرگ وجود دارد ؛ دشواری بروز رسانی نرم افزار و ديگری DLL Hell که در ادامه توضيح داده خواهد شد . در نوع دوم مشکلاتی از قبيل نبود امکانات برنامه نويسی کافی در محيط مرورگر، نبود رابط قوی با کاربر، نبودن مرورگر های يکسان و... وجود دارد . همچنين هميشه يک اتصال به اينترنت يا اينترانت لازم است. در اين نوع از برنامه نويسی می توان از Java Applet ها يا ActiveX استفاده کرد ولی مرورگر بايد امکان استفاده از آن را داشته باشد، مخصوصا ً هنگام استفاده از ActiveX که بايد فقط از IE استفاده کرد .

بخش دوم که Middle tier نام دارد، مکانی است که اطلاعات و قوانين تجاری در آن وجود دارد. منظور از قوانين ، متد ها و اجزائی هستند که اعمال کاربران را کنترل می کنند. مهمترين و آسان ترين زبان برای نوشتن اين اجزا از DNA ويژوال بيسيک است. برنامه نويسی که بخواهد در اين رده برنامه بنويسد بايد آشنايی کاملی با COM و پروتکل های رايج داشته، همچنين بايد مهارت کافی در استفاده از ADO و ADSI داشته باشد. مشخص است که يک اشتباه در اين لايه باعث بروز خطا و نقص در کل سيستم می شود .
بخش سوم يا Data tier مکانی است که اطلاعات سازمان در آن ذخيره می شود. معمولا ً در اين قسمت از بانکهای پيشرفته رابطه ای مانند SQL Server و Oracle استفاده می کنند .

محدوديت های COM

همانطور که ديديد مهمترين قسمت در DNA همان COM است که در جای جای آن استفاده می شود. در اينجا برخی معايب COM ذکر می شود : ( در ابتدای متن ذکر شد که برای درک نياز به NET. بايد ابتدا معايب سيستم های قديمی را بشناسيم )

DLL Hell

اگر کوچکترين تغييری در يک COM ايجاد شود، ديگر برنامه هايی که از ورژن قبلی استفاده می کردند قادر به فعال ساختن نسخه جديد نيستند. هنگامی که در ويندوز، يک COM نصب شود برايش در رجيستری يک GUID ثبت می شود که اطلاعات آن COM را در خود ذخيره می کند. اگر يک برنامه از نسخه اول يک COM استفاده کند و بعد از مدتی شما تغييراتی در نسخه اول بدهيد و بخواهيد آن را دوباره در سيستم نصب کنيد ويندوز به شما پيغام خطا می دهد چون ورژن آن تکراری است، اگر هم آن را به ورژن دوم ارتقا دهيد نرم افزار قبلی هنوز به دنبال نسخه اول می گردد. اين امر باعث می شود که شما مجبور شويد يکبار ديگر کل برنامه را کامپايل کرده و در کامپيوترتان نصب کنيد .

کمبود در وراثت

 در نسخه های COM که در حال حاضرهستند چيزی به نام وراثتی که در ++C وجود دارد نمی باشد، بلکه وراثت تنها در واسط يک COM می باشد، استفاده از آن هم چندان کمکی به برنامه نويسی نمی کند .
برخی محدوديت های برنامه نويسی اينترنتی در مدل DNA

1- وجود دو محيط برنامه نويسی برای اينترنت و Client

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

2-   نبودن حالت های ذخيره اطلاعات رابط گرافيکی در صفحه های اينترنتی

نمونه اين حالت زمانی است که در يک textbox متنی وجود داشته باشد. در برنامه های Win32 GUI متن داخل textboxتا زمانی که کاربر يا برنامه آن راتغيير نداده بر جای خود وجود دارد. اما در محيط اينترنت و نوعASP با هربارrefresh کردن صفحه کل اطلاعات ازبين می رود. البته اين مشکل بااستفاده از شئ هایRequest وResponse تقريبا ً قابل حل است ولی احتياج بهبرنامه نويسی برای هر تکه از صفحهASP دارد.

3- نداشتن Event Handler در محيط برنامه نويسی اينترنت

يکی از مهمترين ابزاری که در برنامه نويسی Win32 GUI وجود دارد استفاده از Event ها است. با تکنولوژی که در حال حاضر وجود دارد تنها راه رسيدن به اين مهم استفاده از ActiveX است که به علت مسايل امنيتی در بيش از ۹۵ در صد مواقع توسط کاربر استفاده از آن رد می شود .

معايب استفاده از API

API ها توابعی هستند که از ويندوز نسخه 1 تا امروز در برنامه نويسی کاربرد داشته و دارند. مهمترين کاری که اين توابع انجام می دهند انجام کارهای سخت و سطح پايين سيستمی است که احتياج به برنامه نويسی زيادی دارند و يا حتی امکان ايجاد آن با زبان هايی مثل ويژوال بيسيک نيست. اما هر API از هر نسخه ويندوز تا نسخه ديگر آن می تواند دچار تغييرات بشود. برای مثال برنامه ای که در ويندوز 98 نوشته شده باشد می تواند در ويندوز 95 اجرا نشود. همچنين هم اکنون ابزارهای جديدی به بازار آمده است که برای آنها نيز می توان برنامه نويسی کرد، مانند تلفن های سيار، کيوسک تلفن، دستگاه های کامپيوتری جيبی و غيره. در اين نوع دستگاه ها ديگر ويندوز به مفهومی که در حال حاضر وجود دارد قابل اجرا نيست و در نتيجه API هم وجود ندارد. لازم به ذکر است که ويندوز CE برای دستگاه های مذکور می باشد ولی قابليت های آن با ويندوزهای ديگر تفاوت زيادی دارد .

کریمی که جهان پاینده دارد               تواند حجتی را زنده دارد

 

دانلود پروژه و کارآموزی و کارافرینی

چهارشنبه 24 خرداد 1391  7:06 PM
تشکرات از این پست
دسترسی سریع به انجمن ها