آموزش Microsoft Visual Studio .NET در اينجا
VB.Net
بزرگترین پیشرفت بعد از ویژوال بیسیک است که تفاوت های زیادی با ویژوال بیسیک 6 دارد .ویژگی های VB.Net در زمینه برنامه نویسی اینترنت و پایگاه داده به نحو قابل توجهی بهبود یافته و این مزایای زیادی را برای برنامه نویسان حرفه ای دارد . و جالب آن است که محیط برنامه نویسی آن برای تمام کامپایلر ها ی موجود مثل ویژوال سی شارپ .net و ویژوال بیسیک net . یکسان است ویژوال استودیو .net دارای چهار ویرایش مختلف است ( حرفه ای و استاندارد و توسعه دهنده و آرشیتکت)و شما با ویژوال .net می توانید برنامه های تحت ویندوز را بسازید ![]()
پاسخ ساده اين است كه «فناوري از مايكروسافت است كه تمامي فناوريهاي ديگر مايكروسافت در آينده به آن وابسته خواهند بود.
داتنت يك تغيير فني عمده است. همانطور كه دنياي كامپيوتر از DOS به ويندوز منتقل شد، حال نيز به داتنت منتقل ميشود. اما تعجب نكنيد اگر كسي گفت «من از داتنت خوشم نميآيد و ترجيح ميدهم به COM و C++ وفادار بمانم». آدمهاي زيادي هستند كه به جاي آخرين مدل هوندا ترجيح ميدهند از گاري استفاده كنند.
فناوري داتنت توسط مايكروسافت معرفي شد تا بازار رقابت را از جاوا شركت SUN بربايد. چند سال قبل، مايكروسافت فقط VC++ و VB را براي رقابت با جاوا داشت، و جاوا با سرعت بازار را به انحصار خود درميآورد. با وابستهتر شدن دنيا به اينترنت/وب و تبديل ابزارهاي وابسته به جاوا به بهترين وسيله توليد كاربردهاي وب، به نظر ميرسيد كه مايكروسافت رقابت را باخته بود. هزاران برنامهنويس از VC++ و VB به سمت جاوا حركت كردند. اين زنگ خطري براي مايكروسافت بود و بسياري از طرفداران مايكروسافت ميپرسيدند «آيا مايكروسافت خواب است؟» اما مايكروسافت پاسخ را در اختيار داشت و يك روز صبح اعلام كرد: «ما خواب نيستيم. ما پاسخ شما را در اختيار داريم.» و آن پاسخ داتنت بود.
مايكروسافت سابقه طولاني در آغاز با تاخير اما رسيدن با سرعت دارد. اين موضوع در مورد داتنت نيز صدق ميكند. مايكروسافت بهترين افرادش را مشغول پروژه محرمانهاي به نام سرويسهاي ويندوز نسل بعد (NGWS: Next Generation Windows Services) نمود. تحت نظر مستقيم آقاي بيل گيتس. نتيجه اين پروژه چيزي است كه ما امروزه به نام داتنت ميشناسيم. اگرچه داتنت اغلب ايدههايش را از J2EE شركت سان قرض كرده است اما عملكردش به واقع، رقبايش را پشت سر گذشته است.
VC++ شركت مايكروسافت ابزار قدرتمند اما بيش از اندازه پيچيدهاي بود. تعداد نوع دادههاي آن بيش از حد بوده و استفاده كنندگان بايد كتابخانههاي بسياري از جمله Windows SDK, MFC, ATL, COM و ... را ميآموختند. مشكلات انطباق انواع دادهاي در زمان تبادل داده ميان لايههاي مختلف وجود داشت. از طرفي، ويژوال بيسيك بيش از اندازه آسان بود، و بسياري از برنامهنويسان حرفهاي به همين دليل از آن تنفر داشتند. اگرچه ويژوال بيسيك به سهولت مورد استفاده قرار ميگرفت، انعطاف لازم را جهت توليد كاربردهاي جدي نداشت. به همين دليل جاوا شركت سان گزينه بسيار خوبي بود. جاوا انعطاف و قدرت C++ و در عين حال سهولت لازم را جهت جلب توجه برنامهنويسان VB در اختيار داشت.
مايكروسافت اين فاكتورها را شناسايي كرده و با در نظر گرفتن آنها داتنت را معرفي كرد. تمام پيچيدگيهاي ناخواسته حذف شدهاند و يك مدل برنامهنويسي خالص شيگرا معرفي شده است. اين موضوع زندگي يك برنامهنويس را بسيار ساده ميكند.
چارچوب داتنت تنها يك كتابخانه كلاس دارد. و اين تنها چيزي است كه برنامهنويسان بايد بياموزند!!! فرقي نميكند كه كدشان را با C#، VB.NET يا J# بنويسند تنها بايد از كتابخانه كلاس داتنت استفاده كنند. هيچ كلاسي مختص يك زبان نيست. كاري نيست كه بتوان با يك زبان انجام داد و با زبان ديگر داتنت نتوان انجام نداد. شما ميتوانيد كدي در C# يا VB.NET با همان تعداد خط، همان عملكرد و همان كارايي بنويسيد، زيرا همه از همان كتابخانه كلاس داتنت استفاده ميكنند.
داتنت چيست؟
· يك چارچوب مستقل از platform است.
· لايهاي ميان سيستمعامل و زبان برنامهنويسي است.
· بسياري از زبانهاي برنامهنويسي از جمله VB.NET، C# و ... را پشتيباني ميكند.
· داتنت مجموعهاي مشترك از كتابخانههاي كلاس را تأمين ميكند كه ميتوانند از هر زبان برنامهنويسي مبتني بر داتنت مورد دسترسي قرار گيرند. مجموعهاي جداگانهاي از كلاسها و كتابخانهها براي هر زبان وجود ندارد. اگر شما يك زبان داتنت را بدانيد، ميتوانيد به هر زبان داتنت كد بنويسيد!!!
· در نسخههاي جديد ويندوز، داتنت به صورت رايگان به عنوان بخشي از سيستمعامل منتشر شده و كاربران هرگز نبايد داتنت را به صورت جداگانه نصب كنند.
داتنت چه چيزي نيست؟
· داتنت سيستمعامل نيست.
· داتنت زبان برنامهنويسي نيست.
«دات نت يك چارچوب است»
آيا توسط اين تعريف سردرگم شدهايد؟ اشكالي ندارد. واقعا سردرگم كننده هست!
ما نميتوانيم داتنت را به صورت يك چيز تعريف كنيم. داتنت يك platform جديد، ساده و توسعهيافته برنامهنويسي است. زبان برنامهنويسي نيست اما چندين زبان برنامهنويسي را پشتيباني ميكند. به طور پيشفرض داتنت همراه با چند زبان برنامهنويسي شامل C#، VB.NET، J# و C++ مديريت شده، همراه است. داتنت يك platform مشترك براي همه اين زبانهاي پشتيباني شده است. يك كتابخانه كلاس مشترك دارد كه ميتواند از هر كدام از زبانهاي پشتيباني شده، صدا زده شود. بنابراين هنگامي كه برنامهنويسان زبان خود را عوض ميكنند لازم نيست كتابخانههاي زيادي را بياموزند. فقط syntax هر زبان تغيير ميكند.
وقتي شما به هر زباني كد نوشته و كامپايل ميكنيد، آن كد به يك زبان مياني (Microsoft Intermediate Language – MSIL) تبديل ميشود. بنابراين كد كامپايل شده قابل اجرا، در حقيقت شامل IL است و نه زبان ماشين قابل اجرا. هنگامي كه كاربرد داتنت اجرا ميشود، چارچوب داتنت در كامپيوتر هدف، اجرا را به عهده ميگيرد. (براي اجراي يك برنامه داتنت، چارچوب داتنت بايد بر روي كامپيوتر هدف نصب شده باشد.) سپس چارچوب داتنت صدازدنهاي كتابخانههاي كلاس داتنت را به APIهاي مربوط به سيستمعامل تبديل ميكند.
وقتي شما به C# يا VB.NET كد مينويسيد، در حقيقت متدهاي واحدي از كتابخانههاي كلاس داتنت را صدا ميزنيد. همان چارچوب داتنت كاربردهاي C# يا VB.NET را اجرا ميكند. بنابراين بخاطر زباني كه با آن كد مينويسيد، تفاوتي در عملكرد نخواهد بود.
ويژوال استوديو داتنت چيست؟
بسياري از افراد ميان ويژوال استوديو داتنت (VS.NET) و فناوري داتنت سردرگم ميشوند. VS.NET فقط يك ويرايشگر است، كه توسط مايكروسافت ايجاد شده تا به برنامهنويسان كمك كند برنامههاي داتنت را با سهولت بيشتري بنويسند. ويرايشگر VS.NET به طور خودكار كد زيادي را توليد كرده، امكان drag & drop كنترلها را به فرم فراهم كرده، ميانبرهايي به كمپايل و ساخت كاربردها تامين كرده و ...
براي برنامهنويسي داتنت، VS.NET يك نيازمندي نيست. شما ميتوانيد به سادگي از notepad يا هر ويرايشگر ديگري جهت نوشتن كد داتنت نيز استفاده كنيد. و ميتوانيد برنامههاي داتنت را از command prompt كمپايل كنيد.
خب، چيزي كه گفته شده به صورت تئوريك صحيح است، اما اگر تصميم گرفتهايد از notepad براي برنامهنويسي داتنت استفاده كنيد، تا زماني كه بتوانيد چند كاربرد ساده تهيه كنيد، مايكروسافت فناوري جديدي معرفي كرده و داتنت از صحنه خارج شده است. احتمالا اين را نميخواهيد. پس اجازه دهيد از VS.NET استفاده كنيم، مثل ساير برنامهنويسان داتنت.
در درسهاي آينده در مورد ويژوال استوديو داتنت بيشتر صحبت خواهيم كرد.
زبانهاي پشتيباني شده توسط داتنت
داتنت از زبانهاي زير پشتيباني ميكند:
· C#
· VB.NET
· C++
· J#
زبانهاي بالا متعلق به مايكروسافت هستند. گروههاي سوم زيادي نيز مشغول نوشتن كمپايلرهايي براي زبانهاي ديگر با پشتيباني داتنت هستند. (آنها را يافته و پست كنيد...) تفاوت ميان VB و VB.NET؟ باور كنيد به جز نامشان تشابه زيادي ميان اين دو نيست. VB.NET يك زبان برنامهنويسي كاملا جديد است. صرفا syntax قديمي را حفظ كرده است. بنابراين اگر شما يك برنامهنويس VB هستيد، احتمالا بخاطر syntax هم كه شده VB.NET را بيشتر از C# دوست خواهيد داشت.
علاوه بر اين، VB.NET هنوز از بسياري از توابع قديمي VB حمايت ميكند، البته فقط به منظور انطباق عقبگرد.
اما اگر شما يك برنامهنويس جدي داتنت هستيد، توصيه ميكنم هيچگاه از يك تابع قديمي VB در VB.NET استفاده نكيند. پس انتقال از VB به VB.NET مثل يادگيري يك زبان برنامهنويسي جديد است، با تشابهات بسيار اندكي ميان آنها.
C# يا VB.NET؟ كدام را انتخاب كنيم؟
همانطور كه در بالا گفتم، هيچ فرقي نميكند. چه كدتان را به VB.NET بنويسيد چه به C#، پس از كمپايل، به MSIL (Microsoft Intermediate Language) ترجمه خواهد شد. اين MSIL است كه شما بصورت يك DLL يا EXE به مشتري تحويل خواهيد داد. MSIL توسط چارچوب داتنت اجرا خواهد شد، صرفنظر از اينكه در ابتدا به C# نوشته شده باشد يا VB.NET.
MSIL حاصل از C# و VB.NET تقريبا 99% مشابه است. بسياري اعتقاد دارند كه C# قدرت C++ و VB.NET كاربردوستي VB را دارد. اين حقيقت ندارد. هر دو به طور مساوي قدرتمند و كاربردوست هستند.
VB.NET انطباق عقبگرد با ويژوال بيسيك قديمي دار. بنابراين از توابع قديمي VB پشتيباني ميكند. از طرفي C# يك زبان جديد و تميز است. برخي، صرفا بخاطر اين كمپايلر تميز، به شدت از C# در مقابل VB.NET طرفداري ميكنند.
بسياري از برنامهنويسان قديمي VB دوست دارند به VB.NET بچسبند و ميشود گفت از C# ميترسند. من مطمئنم كه براي اين افراد بيش از چند روز طول نميكشد كه با syntax C# آشنا شوند.
آيا داتنت مستقل از platform است؟
خيليها اين سوال را ميپرسند «جاوا مستقل از platform است، داتنت چطور؟»
پاسخ «بله» و «خير» است!
كدي كه شما مينويسيد مستقل از platform است، زيرا هرچه كه شما بنويسيد به MSIL كمپايل ميشود. هيچ كد محلي وجود ندارد كه وابسته به سيستمعامل يا CPU باشد. اما هنگامي كه MSIL اجرا ميشود، چارچوب داتنت در سيستم هدف، MSIL را به كد platform محلي تبديل خواهد كرد.
بنابراين، اگر شما exe داتنت را در يك ماشين ويندوز اجرا كنيد، چارچوب داتنت براي ويندوز آن را به كد محلي ويندوز تبديل كرده و اجرا خواهد كرد. اگر كاربرد داتنت خود را در يونيكس يا لينوكس اجرا كنيد، چارچوب داتنت براي يونيكس/لينوكس كد شما را به كد محلي يونيكس/لينوكس تبديل كرده و اجرا خواهد نمود. بنابراين، كد شما كاملا مستقل از platform است و هر جايي اجرا ميشود!
آيا داتنت ارزش يادگيري دارد؟
آيا مطمئن هستيد كه شغل بسيار خوبي داريد و اين شغل براي 10 سال آينده امنيت دارد؟ در اين صورت لازم نيست وقتتان را با يادگيري اين فناوري جديد هدر دهيد.
اگر در مورد آينده شغتان اطمينان نداريد، بهتر است كمي وقت صرف كرده و سوخت لازم براي حركت در چند سال آينده را تامين كنيد!
يادگيري داتنت چقدر زمان ميبرد؟
بستگي دارد شما چقدر سريع ياد ميگيريد. اگر شما با ويژوال بيسيك يا C++ آشنايي داريد، ميتوانيد در عرض 1-2 ماه خودتان را به داتنت برسانيد. اگر تازه مشغول برنامهنويسي شدهايد، 6 ماه مدت قابل قبولي براي آشنايي نسبي با دنياي داتنت است.
آينده داتنت
در حال حاضر مايكروسافت تمامي فناوريهايش را مبتني بر داتنت يا وابسته به داتنت توليد ميكند. نسخه جديد SQL Server حتي نوشتن روالهاي ذخيره شده را در زبانهاي داتنت پشتيباني ميكند. به طور پيشفرض runtime داتنت بخشي از تمام سيستمعاملها شده است.
طولي نخواهد كشيد، كه اگر تمايل داريد از فناوريهاي مايكروسافت براي برنامهنويسي استفاده كنيد، داتنت تنها گزينه خواهد بود (ميتوان گفت همين الآن اينگونه است).
شما با اين سورس مي توانيد فايل هاي txt را باز کنيد و دوباره بعد از تغيرات ذخيره کنيد
ساخت اشیا مثل ( تکست باکس و دکمه و ..... ) با کد نویسی
کار برد این سورس :ساخت درايو مجازي با وي بي دات نت
سلام دوستان عزیز