تکنولوژیهای مختلفی برای توسعه نرم افزارهای تحت وب وجود دارد. یکی از بهترین، قویترین و موفقترین این تکنولوژیها که بیشتر برنامه نویسان از آن استفاده می کنند و از آن لذت می برند Asp .net است.
Asp.net 2 یکی از تکنولوژیهایی است که بوسیله آن میشه یک سایت یا یک برنامه تحت وب را با کمترین اشتباه، حداقل کد نویسی و خیلی سریع و راحت توسعه داد. تولید برنامه تحت وب قبل از ارائه .Net به این سادگی نبود و هیچ تکنولوژی نمی تونست برنامه های تحت وب و سایتها را به این سادگی و با این قدرت تولید کند.
اگه قبلا با تکنولوژیهای دیگه کار می کردید یا تازه شروع به تولید برنامه های تحت وب کردید در این تکنولوژی چیزهای زیادی برای یاد گرفتن وجود داره. در نگاه اول به نظر می یاد نگارش 2 دات نت مثل نگارشهای 1 و 1.1 هست ولی فرقهای زیادی با اون داره. در این بخش قصد دارم .Net framework 2 را بررسی کنم و قابلیتهای اونو بگم و در نهایت ابزار و قابلیتهایی که به .Net framework 3.5 اضافه شده رو شرح بدم.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
دات نت در حقیقت گروهی از تکنولوژیهاست که بعضی از آنها از قبل وجود داشتند و بعضی هم انقلابی در تولید نرم افزار هستند که به توسعه دهنده این امکان رو میده که انواع مختلف نرم افزار را تولید کنند. با دات نت می توان برنامه های تحت ویندوز، سرویسها، برنامه های خط فرمان یا کنسول و همچنین نرم افزارهای تحت وب تولید نمود. در این بخش بیشتر با از Asp .net برای تولید نرم افزارهای تحت وب همراه با یک زبان اصلی ترجیحا Visual Basic استفاده می کنیم.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
اولین بار در اواخر سال 1960 از اینترنت استفاده شد. هدف اصلی اینترنت اتصال کامپیوترها به یک شبکه واحد بدون محدودیت بود. استفاده از اینترنت در اوایل کار فقط محدود به مراکز آموزشی و نظامی میشد و باعث میشد که محققین بتونن به راحتی اطلاعات را بین همدیگه به اشتراک بزارن.
در اوایل سال 1990 مودم عرضه شد و باعث شد که مراکز تجاری بتونن بوسیله خط تلفن به اینترنت متصل بشن.
در سال 1993 اولین مرورگر اینترنت ساخته شد و در همین سال با معرفی Html استفاده از اینترنت رونق گرفت.
من یادمه سالهای اول دانشجوییم هنوز اینترنت فراگیر نبود و با کلی پارتی بازی تونستم به مرکز فیزیک نظری برم و با سرور Vax اونا از اینترنت استفاده کنم که البته با الان خیلی فرق داشت و تحت یونیکس و خط فرمانی بود و چیزی به عنوان گرافیک وجود نداشت.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
امروزه تشخیص تفاوت بین وب سایت و برنامه کاربردی تحت وب سخت است ولی سایتهای اولیه بیشتر شبیه بروشور بودند و یک سری اطلاعات ثابت داشتند که باید در بازه های زمانی مختلف و بسته به نیاز توسط طراح آن آپدیت می شد.
صفحات وب اولیه شبیه ویرایشگر متن بودند و فقط مجموعه ای از اطلاعات ثابت در آنها بود که فوقش میشد رنگ و نوع متن را تنظیم کرد و هیچ عمل خاصی انجام نمی دادند.
در زیر یک نمونه از این صفحات ساده که شامل یک عنوان و یک متن است را مشاهده می کنید:
کد قالب بندی شده:
<html>
<head>
<title>یک صفحه وب نمونه</title>
</head>
<body>
<h1>انجمن برنامه سازان</h1>
<p>این یک صفحه وب نمونه است </p>
</body>
</html>
برای تولید نرم افزارهای Asp .net نیازی نیست در زمینه Html حرفه ای باشید و فقط کافی است با آن آشنایی داشته باشید. می تونید از تاپیک مهمان گرامي شما قادر به ديدن لينكها نميباشيد. لطفاً جهت ثبتنام در انجمن«اينجـا»كليك كنيد تا لينكها نمايان شوند. و یا آدرس مهمان گرامي شما قادر به ديدن لينكها نميباشيد. لطفاً جهت ثبتنام در انجمن«اينجـا»كليك كنيد تا لينكها نمايان شوند. کمک بگیرید.
Html 2 برای نخستین بار تکنولوژی را بنام Html Form ارائه کرد. در Html 2 علاوه بر تگ های تنظیم متن نگارش قبلی شامل تگهایی برای چند رسانه ای و کنترلهای مختلف هم میشد. این کنترلها فقط کنترلهای اصلی مثل لیست، دکمه، جعبه متن و ... میشدند. در زیر نمونه کد مربوط به فرم Html را مشاهده می کنید:
کد قالب بندی شده:
<html>
<head>
<title>یک صفحه وب نمونه</title>
</head>
<body>
<form>
<h1>انجمن برنامه سازان</h1>
<input type="checkbox" />
This is choice #1<br />
<input type="checkbox" />
This is choice #2<br /><br />
<input type="submit" value="Submit" />
</form>
</body>
</html>
فرمهای Html به توسعه دهندگان اجازه طراحی صفحاتی با کنترلهای ورودی استاندارد را میدهد.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
برای اینکه بفهمیم چرا Asp .net ساخته شده و رونق گرفت، بهتره اول مشکلات تکنولوژیهای قبل از اون رو بررسی کنیم. مثلا در CGI استاندارد وب سرور برای هر تقاضا از طرف کلاینت باید یک نمونه یا Instance از برنامه را به کلاینت ارسال میکرد. حالا اگه این سایت بیننده زیادی داشت سرور برای سرویس دادن به صدها استفاده کننده با مشکل مواجه میشد. CGI ابزار برنامه نویسی ساده ای رو ارائه میکرد و اگه شما میخواستید برنامه های سطح بالا مثلا برای کنترل کاربران، شخصی سازی صفحات و یا نمایش محتویات بانک اطلاعاتی بنویسید باید صفحات مورد نیاز را از قبل آماده میکردید و این باعث اتلاف وقت و خطای زیاد میشد.
برای رفع این مشکل مایکروسافت اقدام به تولید پلات فرم های سطح بالایی مثل Aspو Asp .net نمود. هر دو این پلاتفرمها بسیار موفق شدند زیرا توسعه دهندگان بدون داشتن دغدغه در مورد کد های سطح پایین می توانستند سایتهای با محتوای داینامیک تولید کنند. تفاوت Asp و Asp .net :
Asp یک زبان اسکریپتی است و نوشتن با آن نیاز به استفاده از تگهای Html و اسکریپت نویسی دارد ولی Asp .net زبانی شی گرا است و تولید سایت با آن شبیه تولید برنامه های تحت ویندوز است.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
روش دیگری که برای تولید سایت وجود دارد استفاده از Javascript, Java, Flashو ActiveX است. این نوع تکنولوژی هیچ پروسه ای از سمت سرور را درگیر تولید صفحه نمی کند و به عبارت دیگر تمام برنامه در سمت کلاینت دانلود شده و در آنجا صفحات تولید میشوند.
مشکل بزرگ برنامه های Client-side اینه که با همه مرورگرها و سیستم عاملها همخوانی نداره چون کدهای برنامه باید رو کلاینت ترجمه بشه. چون برنامه های تحت وب به دلیل بینندگان متفاوت بر روی انواع سیستم عاملها و مرورگرها اجرا میشوند برنامه نویسان این نوع تکنولوژی مجبورند برنامه خود را روی انواع مرورگرها تست کنند تا از صحت کارکرد آن اطمینان یابند.
برای حل این مشکل دات نت فریم ورک از تکنولوژی Server-side استفاده میکند و تمام کدها سمت سرور اجرا میشه و نهایتا صفحه وب آماده شده با تگهای استاندارد Html به کلاینت ارسال میشه و باعث میشه رو تمام مرورگرها قابل مشاهده باشه.
در شکل زیر تفاوت برنامه های سمت کلاینت و سمت سرور را مشاهده می کنید:
همونطور که می بینید چند دلیل مهم برای اجتناب از استفاده از Client-side به شرح زیر وجود دارد:
1- isolation: برنامه های سمت کلاینت به منابع سرور دسترسی ندارند مثلا به سختی می توانند با دیتابیس ارتباط برقرار کنند. ( این ارتباط باعث کم شدن امنیت و عدم سازگاری با بعضی مرورگرها میشه)
2- امنیت Security: در برنامه های سمت کلاینت کاربر می تواند کل برنامه و کدهای آن را مشاهده کند که این موضوع به شدت امنیت برنامه را کاهش می دهد.
3-Thin client: اینترنت داره به سمتی سوق پیدا میکنه که برنامه ها بتونند روی دستگاههایی مثل Mobile, PDA, Palmtop استفاده بشن. این دستگاهها می تونن به سرور وب متصل بشن ولی نمی تونن همه قابلیتهای پیشرفته مرورگرها رو داشته باشن و همچنین از Client-side پشتیبانی نمی کنن مثلا جاوا اسکریپت رو نمی تونن اجرا کنند.
یکی از مزیتهای دات نت اینه که میتونه هر دو روش server-side, Client-side رو با هم ترکیب کنه و مثلا در مرورگرهایی که امکاناتش رو داشته باشه از جاوا اسکریپت استفاده کنه.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم
اگه تاپیکهای قبلی رو خونده باشید حالا آماده اید که از دات نت براتون بگم. دات نت ترکیبی از تکنولوژیهای مختلف به شکل زیر است:
1- زبانهای دات نت: این زبانها شامل Visual basic, c#, javascript .net، j# و C++ است. توجه کنید که javascript .net نسخه سمت سرور جاوا اسکریپت می باشد.
2- The common language runtime (CLR): بخشی است که تمام برنامه های دات نت را اجرا کرده و سرویسهای مختلفی از قبیل امنیت و مدیریت حافظه برای برنامه ها فراهم می کند.
3- کتابخانه کلاس دات نت فریم ورک: مجموعه ای از توابع آماده که می توانید در برنامه نویسی از آنها استفاده کنید که این توابع به بخشهای مختلف مثل Ado .net برای استفاده از دیتابیس و Winform برای ساخت فرمهای ویندوز و ... تقسیم میشوند.
4- Asp .net: بخش میزبان برنامه های تحت وب شما می باشد و تمام قابلیتهای دات نت را برای تولید برنامه های تحت وب به شما ارائه میدهد و علاوه بر کلاسهای دات نت در این بخش می توانید از قابلیتهایی مثل مدیریت کاربر یا دسترسی به دیتابیس استفاده کنید.
5- Visual Studio: محیط توسعه نرم افزارهای دات نت با قابلیتهای مختلف از قبیل دیباگ برنامه ها.
ما تجربه داریم ، شما اعتماد کنید ، باهم توسعه می دهیم