ايران ويج

نسخه‌ی کامل: PHP یا ASP.NET ، مسئله این است
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3
سلام.
تا جایی که یادمه همیشه با دوستان بحث هایی در مورد مقایسه ی PHP و ASP.NET که کدوم بهتره انجام می دادیم و همیشه طرف مقابل به صورت مطمئن از زبان مورد علاقه ی خودش دفاع می کرد...
این تاپیک رو هم به همین خاطر درست کردم که این دو رو مقایسه کنیم.
هرکی که برنامه نویسیه وب کار کرده زبان انتخاب شده ی خودشو بگه و علت انتخاب که چه مزیت هایی نسبت به زبان یا زبان های تحت وب دیگه داشته.
خواهشا بعد از اسم بردن زبان توضیح مفصلی در مورد علت انتخاب و مزیت های آن بدهید.امیدوارم بحث مفیدی بشه؛مخصوصا برای کسانی که به تازگی قصد برنامه نویسی تحت وب رو دارند...Wink
مقايسه سيب و گلابی و انتخاب سبد ميوه Biggrin

از اونجا که اين سؤال رو ميشه تقريباً توی هر فرومی پيدا کرد هميشه هم آخرش هيچ نتيجه اي گرفته نميشه گفتم بهتره يه کم هم از تاريخچه اين سؤال بگيم شايد نتيجه داشته باشه

قبل از اينکه اصلاً به اين سؤال جواب بديم يه مقايسه تاريخی بين سيب و گلابی لازم هستش.
هدف اصلی زبان PHP رو ميشه در به وجود آوردن امکان دايناميک کردن وب سايت ها (مثلاً گرفتن پشتيبان از ديتا بانک و ...) عنوان کرد در حالی که شرکت ميکروسافت ASP.net رو به عنوان پل ارتباطی بين برنامه های کلاسيک و برنامه های تحت وب معرفی ميکنه.
گذشته از اينکه هر برنامه نويس به شکل ديگه اي زبانی رو که باهاش کار ميکنه ميبينه, ميشه گفت که تقريباً هر کاری رو ميشه با هر دو زبان انجام داد (حالا کمتر يا بيشتر، ساده تر يا پيچيده تر, بماند Whistle)

خوب ميريم سراغ سيب ها:
سالها بعد از تسلط PHP به دنيای وب بالاخره ميکروسافت هم با ASP يک زبان مدرن رو وارد بازی کرد تا از اين کيک پر در آمد بی نصيب نمونه. همين مسئله باعث شده که اکثريت زبان ASP رو عنوان وسيله ی ديگه اي از ميکروسافت ببينند که برای مونوپول کردن دنيای اينترنت ازش استفاده ميشه (مثل همون کاری که windows کرد)
نقاط ضعف ورژن های اوليه ASP زياد بودن که من فقط چند نمونه ازشون رو عنوان ميکنم
اول از همه پيچيدگی سينتکس ASP در ورژن های اول که خودش سوژه بحث چند ساله بين برنامه نويسا بود.
دوم همخونی کامل فقط با اينترنت اکسپلرر خود شرکت ميکروسافت (جمله معروف: ASP فقط با اينترنت اکسپلرر درست کار ميکنه)
دليل اين مشکل هم اين بود که ASP فقط server side نبود و از اسکريت های client side هم استفاده زيادی ميکرد که فقط کد های html سازگر با اينترنت اکسپلرر بيرون ميدادند، البته اين مشکل تا قسمتی بسته به کار برنامه نويس ها هم بوده ولی خود ASP برنامه نويس رو بيشتر به اين مسير هدايت ميکرد.
علاوه با اين مشکلات کسانی که با ورژن های اول ASP کار کردن اين تجربه رو داشتن که برنامه نويس فقط با يک زبان کار نميکرد بلکه از هر گوشه بايد سری به جاهای ديگه هم ميزد تا کارش تموم بشه.
و يکی ديگه از مشکلات ASP شباهت بيش از حد سينتکس ها به زبان وی بی بود که باعث سر درد بيشتر برنامه نويسا ی سابقه دار تر شد که به زبان های سی و سی ++ عادت داشتن.
(البته اين هم گفته باشم که خيلی از برنامه نويس ها تا مدت ها وی بی رو به عنوان زبان برنامه نويسی نگاه نميکردن، دلايلش باشه واسه بعد)
و بالاخره ميکروسافت در ASP.net بخش بزرگی از اين مشکلات رو از سر راه برنامه نويس برداشت.

ASP.NET مثل بيشتر محصولات شرکت ميکروسافت (اصلاً جای تعجب نيست) فقط روی سيستم های windows و IIS کار ميکنه Angry البته اين حرف هم به مرور زمان ديگه درست نيست چون ميکروسافت کم کم به سمت پروژه های open source کشيده ميشه.
در اين پروژه کد های قابل اجرا در يک قدم به زبان ماشينی بی طرف ترجمه ميشه و فقط موقع اجرا به زبان خاص پلاتفرم کامپايل ميشه. علاوه بر اين .net از يک framework (کلاس & فانکشنس) نسبتاً قوی برای هر کاری برخورداره که خيلی جاها باعث راحتی کار برنامه نويس ميشه.
جالبی ديگه ی .NET اينه که وابسته به زبان برنامه نويسی خاصی نيست ، در حال حاضر هم ميشه از وی بی.net و هم از C# به عنوان زبان برنامه نويسی استفاده کرد ولی در کل ميشه از زبانی تحت تکنولوژی .NET استفاده کرد.
اين مسئله اولين برتری رو نشون ميده. وارد کردن ASP به تکنولوژی .NET کار برنامه نويس رو به مراتب ساده تر کرده. مثلاً دسترسی به ديتا بيس و .... علاوه بر اين ابزار های مختلفی از شرکت ميکروسافت به بازار ارائه شده (مثلاً Visual Studio) که با استفاده ازشون ميشه پروژه های حرفه اي هم اداره کرد.
از اين مسئله ميشه نتيجه گرفت که ASP.NET به دليل پيچيدگی و اينکه توانايی در تکنولوژی .NET برای هر برنامه نويسی لازمه برای هر کسی خوشايند نيست
ASP.NET به همراه IIS نسبتاً از سرعت بالاتری برخورداره که البته دليلش هم اينه که ASP.Net کامپايل ميشه در صورتی که PHP فقط زمان اجرا Interpret ميشه.


و امّا گلابی

تاريخچه به وجود اومدن PHP هم که تقريباً همه ميدونن واسه همين زياد در موردش چيزی نميگم. Question
برتری اصلی PHP آپن سورس بودنشه و لازم نيست هزينه اي بابت ليسنس های مختلف پرداخت بشه. به خصوص در ترکيب با Linux ، Apache و MySQL در مدت زمان خيلی کمی PHP به عنوان اولين انتخاب برای تکنولژی تحت وب جای خودش رو ثبت کرد. (LAMP = linux, apache, mysql, php)
البته PHP فقط تحت لينوکس و با Apache قابل استفاده نيست، بلکه به سادگی تحت windows به همراه IIS هم قابل استفادست.
از جمله برتری های ديگه ی PHP ميشه شباهت سينتکس رو به زبان C و سخاوتمند بودن PHP نسبت به کد نويسی رو عنوان کرد. در کل ميشه گفت که PHP برای تازه کار های عزيز راحت تره و هر کسی خيلی راحت ميتونه شروع کنه به نوشتن کد های کوچيک بدون اينکه به اينيسيال کردن توابع و تايپ ها توجه زيادی بکنه.
البته همين برتری به شکلی يکی از مشکلات اصلی PHP هم هست، چون باعث ميشه که برنامه نويس های تازه کار اشتباهت بزرگی بکنند بدون اينکه خودشون متوجه بشن. حتماً همه 1000 تا سايت ميشناسند که مثلاً به خاطر دقت نکردن برنامه نويس و يا ناواردی از طريق اينجکشن هک شدن.
البته در ورژن پنجم PHP و فعلاً آخرين ورژن قسمت های اصلی يک زبان OOP وارد شدن و در کل زبان حرفه اي تری نسبت به قبل شده.
بر عکس ASP.NET زبان PHP عضوی از يک تکنولژی مادر نيست (منظورم تکنولژی .NET در کل هستش) به همين دليل PHP مثل ASP از کتابخانه کاملی برخوردار نيست اگرچه از نظر Function چيزی کم نداره ( اين هم باز يکی از خوبی های Open Source بودن برنامه هستش)
البته اينجا هم باز PHP کم نمياره و با معرفی PEAR (=PHP Extention Application Repository) خودش رو کمی به Framework ميکروسافت نزديکتر ميکنه.
اين Framework کامپننت های اصلی برای کار مثل تمپليت و ديتا بيس و .. رو همراه داره و اگه همينجور ادامه بده تا چند سال ديگه چيزی در اين موارد از .NET کم نخواهد داشت.
مشکل بعدی PHP کمبود برنامه ها ی کمکی و برنامه نويسی هستش، يکی از دوستان گفته بود که به نظر من .Net بهتره چون PHP حتی IDE نداره. البته اين حرف درست نيست چون برای PHP هم IDE خوب هست. که فعلاً ميشه گفت بهترينشون IDE شرکت Zend هستش. (ولی با اينکه امکانات زيادی مثل ديباگر و کامل کردن اتماتيک کد رو داره باز هم مثل Visual Studio نيست)
متأسفانه پروژه های Open Source بيشتر وقت ها با همون سرعتی که به وجود ميان از بين هم ميرن واسه همين تا دلتون بخواد پروژه های بتا واسه دانلود وجود داره که چند ساله هنوز بتا موندن.
يکی ديگه از مواردی که طرفداران .Net هميشه عنوان ميکنن مسئله سرعت ASP هستش، که تنها دليلش در حقيقت کامپايل شدن .Net هستش و اينکه PHP کامپايل نميشه و فقط زمان اجرا Interpret ميشه. البته اين مشکل هم ميشه به راحتی با استفاده از Caching-System حل کرد.
با وجود تمام اين مشکلات ميشه با PHP در مدت زمان کمی برنامه های کامل و پيشرفته اي نوشت، مخصوصاً وقتی که مسئله مالی پروژه مهم باشه و بودجه کمی واسه کار داشته باشيد. حتی وب ديزاينر های نه چندان حرفه اي ميتونن با کمک PHP خيلی راحت مشکلات کوچيک خودشون رو حل کنن

و اما انتخاب:
از اين مقايسه ميشه چند تا نتيجه گرفت ولی مهمترينش حرف وکيل منه که هميشه ميگه "بستگی داره" يعنی اينکه نميشه جواب کلی داد به اين سؤال.
اگه بودجه کار زياد نيست و نتيجه هم بايد سريع عرضه بشه ميشه گفت که اولين انتخاب PHP هستش
ولی اگه فکر ميکنيد که پروژه بعد ها گسترده تر ميشه و قابليت بزرگتر شدن رو بايد داشته باشه و يا اگه اين پروژه وابستگی به برنامه های ديگه اي داره که ميکروسافت ارائه کرده بهتره بريد سراغ ASP.net مثلاً اگه شرکت توی برنامه انبار داری از Access استفاده ميکنه و يه زمانی بخواد پيوند بزنه بهتره از همون اولش با .NET شروع کنيد.

Alternates:
واسه اونا که نه از سيب خوششون مياد نه از گلابی
برای اينکه حق هم از بين نبريم اينم بگم که نه PHP و نه ASP.Net هيچ کدوم آخرين انتخاب نيستن.
Perl و ديگر زبان های برنامه نويسی وب هم هنوز جای خودشون رو حفظ کردن و توی خيلی از موارد مثلاً سرعت، 100 برابر ASP.Net و PHP کارايی دارن.
پس در نتيجه هر زبانی اگر در جای درست ازش استفاده بشه ميتونه بهترين باشه و در کار هميشه فاکتور های زيادی هستن که برای انتخاب زبان برنامه نويسی بايد در نظر گرفته بشن.

از اينکه فارسی بنده هم زياد تعريفی نداره معذرت ميخوام، اگه غلط زياد داره به چشم برادری نگاه کنيد Whistle
(۲۵-شهریور-۱۳۸۸, ۱۳:۴۲:۴۰)PouriaAmid نوشته است: [ -> ]ASP.NET مثل بيشتر محصولات شرکت ميکروسافت (اصلاً جای تعجب نيست) فقط روی سيستم های windows و IIS کار ميکنهAngry البته اين حرف هم به مرور زمان ديگه درست نيست چون ميکروسافت کم کم به سمت پروژه های open source کشيده ميشه.
ممنون از توضیحات کاملتون . اجازه بدین جسارتاً چندتا نکته را گوش زد کنم .
فکر کنم منظور شما پروژه مونو به رهبری ناول هست ،
این پروژه در 2004 استارت خورده ؛ یعنی قبل از معرفی framework .net 2.0 و از اون موقع بحث اجرای asp.net روی linux بین ملت بوده و نمیشه گفت این اتفاق کم کم داره میفته .


نقل قول: دليل اين مشکل هم اين بود که ASP فقط server side نبود و از اسکريت های client side هم استفاده زيادی ميکرد که فقط کد های html سازگر با اينترنت اکسپلرر بيرون ميدادند، البته اين مشکل تا قسمتی بسته به کار برنامه نويس ها هم بوده ولی خود ASP برنامه نويس رو بيشتر به اين مسير هدايت ميکرد.

asp فقط server side بود ، چیزی که باعث مشکل میشد این بود که افرادی که vbscript بلد بودن ، از اون داخل صفحاتشون استفاده میکردن و چون این اسکریپت روی یک host environment اجرا میشد و اغلب مرورگرها، بجز internet explorer - محیط لازم را برای اجرای آن فراهم نمیکردند- فکر کنم در این مساله شرکتهای دیگر سعی کردن قضیه vbscript را نادیده بگیرند و مایکروسافت را تحریم کنند ، وگرنه کاری که برنامه نویسها با msscript.ocx انجام میدهند و قابلیت اسکریپتینگ به برنامه هاشون اضافه میکنند ، کار سختی نبوده که تیمهای برنامه نویسی opera و mozilla از پس آنها بر نیایند.

نقل قول: يکی ديگه از مشکلات ASP شباهت بيش از حد سينتکس ها به زبان وی بی بود که باعث سر درد بيشتر برنامه نويسا ی سابقه دار تر شد که به زبان های سی و سی ++ عادت داشتن.

زبان اغلب صفحات asp همان vbscript بود ، اما میشد از Active script های دیگه هم استفاده کرد که نمونش هم Jscript هست که شباهت زیادی به java script دارد.
و نمونه دیگرش هم perlScript که قابل استفاده در asp بود . حتی میشد به سرور Active Scripting engine های دیگه ای اضافه کرد و از زبانهای دیگر در asp استفاده کرد.
مرسی پشمالو جان
من چون خلاصه نويسی کردم زياد وارد بحث نشدم ولی اين اطلاعات کاملاً درسته
البته مسئله لينوکس و ای اس پی هنوز هم جای بحث داره واسه همين من گفتم به مرور زمان
با تشکر از PouriaAmid و pashmaloo.نکات جالبی توی پست ها بودQuestion
من خودم ASP.NET رو بعد از مدتی کار با PHP انتخاب کردم.
چونکه اولا C# رو بلد بودم و نوشتن web application با asp.net خیلی شبیه با نوشتن یک Desktop application هست.
دوما در Asp.net به دلیل توانایی جدا کردن کد های html,css,javascirpt و... از کدها و کلاس هایی که قراره روی سرور اجرا شوند امکان درک کردن و خواندن کد نوشته شده بالا تر می رود.
دلیل دیگر این است که در asp.net میشه تمیز تر کد نوشت،چون نوشتن کلاس ها و متد ها دقیقا شبیه c# هست که در انجام پروژه های بزرگ خیلی کمک کرده ، از سردرگمی و گیج شدن میان انبوهی از کد ها جلوگیری می کند و کلاس ها و متد ها به خوبی از هم تفکیک می شوند.
دلیل بعدی که خیلی مهمه موجود بودن محیط متمرکز و بسیار قدرتمند Visual Studio هست که امکانات زیادی را در اختیار برنامه نویس قرار داده و امکان نوشتن کد تمیز رو به سادگی به برنامه نویس میدهد.ویژگی هایی مثل Auto-completation نیز به سرعت و سهولت برنامه نویسی کمک می کند و یا امکان اجرا و مشاهده کردن صفحات در همان محیط نیز به سهولت برنامه نویسی می افزاید.
library ها و class ها هم سر جای خود.Question
یکی از مزیت های asp.net نسبت به php امکان ایجاد و استفاده مکرر از user control هاست که خیلی مفید هستند و از تکرار کد جلوگیری میکنند.
البته من خودم شخصا با بیشتر کامپوننت هایی که microsoft داره بیرون میده موافق نیستم.احساس می کنم آدم رو تنبل می کنند و اگه مشکلی پیش بیاد یافتن علت خطا سخت تر میشه،مخصوصا component های کار کردن با DB و ... .ترجیح میدم خودم کد بنویسم که بدونم چی کار کردمWink
باز هم مزیت تو ذهنم هست که به دلیل نداشتن لیبل فارسی کی بورد و سرویس شدنم(Biggrin) برای نوشتن همین چند خط اونا رو به پست های بعدی موکول می کنمQuestion
مقایسه PHP و Asp.NET

قبل از هر چیز باید بگم بنده قبل از اینکه به سراغ Asp.NET بروم Php کار می کردم و خیلی تصادفی با Asp.NET آشنا شدم و وارد دنیای دات نت شدم و قصد دارم در این مقاله مقایسه ای منطقی بین Asp.NET و Php انجام دهم .

می دانم خیلی از کسانی که به این بحث علاقه دارند واقعا می خواهند بدانند که آیا Asp.NET بهتر است یا Php ؟ کدام سریعتر است ، یادگیری کدام آسان تر و کدام یک پرکاربر تر است ، چرا خیلی از سایت های معروف مانند Yahoo و Facebook و ... از Php استفاده می کنند و سوالات متعدد دیگری که در ذهن خیلی از ما نقش بسته ، امیدوارم این مقاله بتواند به انتخاب درست شما کمک کند .
* پشتیبانی از زبان های مختلف :

همانطور که می دانید Asp.NET را با زبان ها VB.NET ، C Sharp , Delphi , J Sharp و چند زبان دیگر .... میتوان توسعه داد در حالی که Php را فقط با زبان Php می توان نوشت . نکته جالب تر تلفیق زبان هاست ! شما در Asp.NET قادر خواهید بود از چند زبان برای تولید وب سایت یا نرم افزار خود استفاده نمایید .

* شی گرایی :

Php از بدو تولد به صورت یک زبان اسکریپتی ارائه شد در حالی که Asp.NET با مفهوم شی گرایی (کلاس ، خاصیت ، رویداد و ...) پا به عرصه گذاشت . کار با Asp.NET بسیار شبیه کد نویسی برای یک نرم افزار تحت ویندوز است و تمام امکانات مورد نیاز برای یک برنامه نویسی شی گرا را فراهم نموده است .
* امنیت در وب :

امنیت در وب یکی از دقدقه های مهم توسعه گران و وب مسترها است ، خوشبختانه DotNET تدابیر امنیتی بسیار جالبی برای جلوگیری از نفوذ هکر ها به کار برده است ، این امر یکی از مهمترین عوامل برتری Asp.NET بر Php است .

اگر شما یک سایت تولید شده توسط یک برنامه نویس مبتدی Asp.NET را با یک برنامه نویس مبتدی Php مقایسه کنید کامل متوجه خواهید شد که دات نت چگونه به صورت پیشفرض از هک شدن وب سایت شما جلوگیری می کند .

* محیط توسعه نرم افزار :

همانطور که میدانید شرکت مایکروسافت چند نرم افزار قدرتمند برای توسعه Asp.NET فراهم نموده است : Visual Studio.NET ، Visual Web Developer , WebMatrix این نرم افزار های قدرتمند شما را از هر نرم افزار دیگیری بی نیاز می کند ، تمامی امکانات مورد نیاز برای طراحی و تولید یک وب سایت حرفه ای در این نرم افزار ها گنجانده شده ، در صورتی که Php هیچ نرم افزار اختصاصی نداشته و برخی نرم افزار ها این زبان را در کنار زبان های دیگر ارائه نموده اند مانند : NetBeans , Adobe Dreamweaver , Zend, ....

* سرعت در توسعه و پیاده سازی :

ASP.NET با ارائه کنترل های قدرتمند وب و ارائه راهکارهای بسیار بهینه جهت ارتباط با بانک ها اطلاعاتی تحولی عظیم در توسعه نرم افزار های وب به وجود آورد ، کنترل های Asp.NET باعث افزایش سرعت توسعه وب تا ده ها برابر شده است ، به عنوان مثال برای نمایش 5000 هزار رکورد اطلاعات داشنجویان در Asp.NET کافیست یک کنترل Grdiview به صفحه اضافه کنید ، با چند کلیک آن را به بانک اطلاعاتی مورد نظرتان (Ms-SQL Server, Ms-Access , MySQL , Oracle ,....) متصل نمایید با یک کلیک آن را صفحه بندی نمایید ، در صورتی که برای نمایش این رکورد ها در Php نیاز به کد نویسی فراوانی دارید ، البته نا گفته نماند در Php هم راهکار های ساده تری جهت نمایش اطلاعات وجود دارد ولی هیچ یک به قدرت و سادگی کنترل های دات نت نیست بلکه به صورت اسکریپتی به صفحه اضافه می شوند .

* سرعت بارگزاری صفحات :

این سخن را به کرار شنیده ام که Php از Asp.NET سریعتر است ، ولی آیا تا چه حد این حرف صحت دارد ؟

1. Asp.NET یک زبان کامپایل شده است در صورت که Php یک زبان مفسری است ، تمامی کد های Asp.NET پس از توسعه کامپایل شده و به Dll تبدیل می شوند ولی Php به صورت کد بارگزاری شده و در هنگام اجرا تفسیر می شود .
2. همانطور که میدانید Asp.NET دارای کنترل های زیادی است و به علت سادگی استفاده بسیار پر کاربر هستند ، این کنترل ها در هنگام Generate شدن باید به کنترل های Html تبدیل شوند در صورتی که Php به این صورت نیست و از کنترل های Html استفاده می کند . این موضوع در عمل تاثیری در سرعت لود صفحه ندارد چرا که عمل Generate شدن در سرور انجام می شود و در صورت وجود سخت افزار مناسب در سرور این کار در کسری از ثانیه انجام می شود ، همچنین کاربران Asp.NET می توانند از کنترل ها Html استفاده کنند و محدودیت از این لحاظ نیز برای آنها وجود ندارد .
3. وجود ViewState در Asp.NET که باعث حفظ اطلاعات کنترل ها پس از PostBack می شود یکی از دلایل عمده افت سرعت در Asp.NET می باشد ، اما خوشبختانه Asp.NET این امکان را به کاربر می دهد که در صورت عدم نیاز به ViewState آن را غیر فعال نماید ولی برخی از توسعه گران به دلیل عدم اطلاع از این موضوع با مشکل کاهش سرعت مواجه می شوند .
4. عمل فشرده سازی صفحات در Php وجود داشته و اکثر توسعه گران Php با یک خط کد نویسی این امکان را به پروژه های خود اضافه می کنند ، عمل فشرده سازی تا 10 ها برابر حجم خروجی صفحه را کاهش داده و باعث افزایش سرعت لود آن می شود ، خوشبختانه عمل فشرده سازی در Asp.NET نیز وجود دارد ولی خیلی از توسعه دهندگان Asp.NET از آن بی اطلاع هستند

نکته مهم این است استفاده ناشیانه از این تکنولوژی نه تنها باعث کاهش سرعت بارگزاری صفحات شده بلکه دیدگاه شما را نسبت به آن خدشه دار می کند .

* سورس باز :

یکی از بزرگترین مزایای Php سورس باز بودن آن است ، این امر باعث شده است خیلی از سایت های بزرگ برای توسعه وب سایت خود از Php استفاده کنند حتی سورس آن را به اقتضای نیاز های خود تغییر و شخصی سازی کنند .

دلیل اصلی استفاده شرکت ها بزرگ مانند Yahoo , Facebook , ... از زبان Php سورس باز بودن آن است .

سورس باز نبودن Asp.NET یکی از نقاط ضعف آن محسوب می شود .

* هزینه های جانبی :

هاست یا سرور : هزینه سرور های لینوکس به دلیل رایگان بودن آن نسبت به هزینه سرور های ویندوز کمتر است (البته نه در کشور ما)

دیتابیس : بانک اطلاعاتی My SQL که معمول ترین بانک اطلاعاتی php است رایگان است ، بانک های اطلاعاتی Ms Access و MS SQl Server Express نیز به صورت رایگان ارائه شده است .

در کل هزینه راه اندازی یک وب سایت Php کمتر از یک وب سایت Asp.NET به نظر می رسد ، البته گر چه این هزینه بسیار ناچیز است ولی برای برخی این یک مزیت Php محسوب می شود

* سیستم عامل :

همانطور که میدانید Php هم بر روی ویندوز و هم بر روی لینوکس نصب می شود ، و این یکی دیگر از مزیت های Php می باشد

البته اخیرا سرو کله Asp.NET در لینوکس پیدا شده ، پروژه ای به نام Mono تکنولوژی Asp.NET را به لینوکس هدیه کرده ! همچنین یک IDE رایگان به نام Mono Develop هم ارائه شده که به راحتی شما را قادر می سازد طراحی و توسعه سایت های Asp.NET خود را در محیط Linux انجام دهید ، بنده شخصا این کار را در لینوکس Ubuntu انجام دادم و به خوبی جواب گرفتم .

* سهولت یادگیری :

از نظر بنده یادگیری Asp.NET از هر زبان دیگری ساده تر است ، با وجود زبانی به نام Visual Basic.NET کد نویسی بسیار ساده شده است

ورژن جدید Viasual Studio امکانات بسیار جالبی برای ساده کردن کد ها قرار داده است ، ویزارد های مختلف برای ارتباط با بانک ها اطلاعاتی شما را از نوشتن حتی یک خط کد بی نیاز می گرداند .

به گفته برخی برای یادگیری Asp.NET نیاز به دانستن شی گرایی است ولی از نظر بنده برای شروع کار با Asp.NET هیچ نیازی به پیش زمینه قبلی از شی گرایی و مفاهیم پیچیده ندارد .

همچنین حضور سایت هایی مانند www.Asp.NET و ارائه فیلم های آموزشی از مبتدی تا پیشرفته به صورت رایگان تحولی عظیم در امر یادگیری Asp.NET به وجود آورده اند .


* کاربرد و بازار کار :

اگر یک نگاه گذرا به صفحات آگهی روزنامه ها در بخش استخدام برنامه نویس بیاندازید متوجه خواهید شد که "استخدام برنامه نویس Asp.NET" سهم عظیمی از این آگهی ها را در بر گرفته است که خود نشان دهنده کاربرد فراوان این تکنولوژی در شرکت های ایرانی است .

حتی اگر شما قصد ادامه تحصیل یا کار در کشور های خارجی را داشته باشید با کمی جستجو متوجه خواهید شد که برای Asp.NET و Php موقعیت های شغلی مناسبی در سراسر دنیا وجود دارد .

همچنین شرکت مایکروسافت با برگزاری امتحانات متعدد و ارائه مدارک معتبر مانند MCSD و MCTS شما را برای ادامه تحصیل و یافتن شغل مناسب در کشورهای خارجی یاری خواهد داد.

* پیشرفت و توسعه نرم افزار و به روز شدن :

از زمان ظهور Asp.NET در سال 2002-2003 تکنولوژی Asp.NET پیشرفت چشم گیری کرده است ، بهینه سازی IDE و هسته DotNetFrameWork و همچنین افزودن امکانات مختلف جهت تسریع در امر توسعه تکنولوژی Asp.NET را دگرگون ساخته است ، همچنین هماهنگی روز افزودن Asp.NET و SQL Server باعث افزایش چشمگیری درخواست های مختلف از این بانک اطلاعاتی و همچنین سهولت برنامه نویسی شده است .

اضافه شدن Ajax در Asp.NET همگام با سایر زبان های سمت سرور مانند Php نشان از به روز بودن این تکنولوژی دارد .

شایان ذکر است شرکت مایکروسافت در سال های اخیر اقدامات بی سابقه ای در جهت پیشرفت تکنولوژی Asp.NET انجام داده است که میتوان از LINQ ، MVC , SilverLight , Wcp , Wpf و... نام برد که هر یک دنیای جدیدی از تکنولوژی را به بازار عرضه کرده اند .
این پیشرفت سریع و رو به رشد یکی از نقاط قوت Asp.NET به شمار رفته و گویای این است که این تکنولوژی در آینده جایگاه مهمی در دنیای IT خواهد داشت .

منبع :

کد:
http://how2learnasp.net/article.aspx?code=26d02c7b-c893-4e9d-b777-e60eed123b53
خیلی مطالب خوبی گفته بودین منم گفتم یه چیزی بگم
اولا مهم ترین برتری php نسبت به asp آزاد بودنشه که حس کردن این برتری خیلی کار مشکلیه ولی خیلی مهمه
نقل قول: به همين دليل PHP مثل ASP از کتابخانه کاملی برخوردار نيست
من قوی تر از کتابخانه های php ندیدم البته asp کار حرفه ای نیستم ولی اگه asp کارا شک دارن یه کاری کنن که من هر فایلی با پسوند pdf رو از سایتشون دانلود کردم (اسم فایل مشخص نیست) یه عکس داخل اون فایل pdf باشه که اسم سیستم عاملی که داره اون فایل رو دانلود می کنه با ip اون توش باشه
من این کارو با ۲۰ خط می تونم به یه php کار تازه کار یاد بدم تا انجام بده
نقل قول: چون برای PHP هم IDE خوب هست. که فعلاً ميشه گفت بهترينشون IDE شرکت Zend هستش.
برای php خالی تقریبا بله برای html خالی هم تقریبا دریم وی ور ولی eclipse خیلی کامله که هیچ کدوم از این ۲ تا بهش نمی رسن

شما توی asp.net برنامه نویسی نمی کنین برنامه های نوشته شده میکرو سافت رو بهم می چسبونین
نرم‌افزار های آزاد رو خیلی دست کم نگیرید همون اتفاقی که برای ie6 و firefox افتاد برای بقیه نرم‌افزار های انحصاری هم می افته توی کامپیوتر اتفاقات خیلی سریع تر می افتن
سلام
من برنامه نویسی web زیاد کار نکردم ، اما بحث بر سر برتری زبان برنامه نویسی هیچ وقت به سرانجام نمیرسه .( توی الکترونیک ، اغلب کاربران با زبان بیسیک ( و کامپایلر بسکام ) موافق موافق هستند ، چون یادگیری این زبان راحت هست و اغلب کار ها رو کامپایلر انجام میده . افرادی که میخوان با انوع سخت افزار ها کارکنن به سمت c و کامپایلر متن باز win avr میرن )
شما اگه یه مورد رو کامل رو یاد بگیرید میتونید به سادگی به دیگری سوییچ کنید ، مهم الگوریتم برنامه نویسی و نحوه به کار بردن توابع هست .
و همون طور که اقا هادی گفتن مهمترین ویژگی یک نرم افزار متن باز بودن اون هست ، نرم افزار های متن باز به سرعت گسترش پیدا میکنن و سورس براشون زیاد هست .
نقل قول: شما توی asp.net برنامه نویسی نمی کنین برنامه های نوشته شده میکرو سافت رو بهم می چسبونین
اینجوری ها هم که شما میگید نیست! همونطور که تو پست قبلیم گفتم microsoft کامپوننت های آماده ی زیادی بیرون داده که میشه استفاده کرد و بعضی وقت ها حتی نیازی به کد نوشتن نیست!!!!
من خودم این روش رو قبول ندارم و کد نوشتن رو ترجیح میدم.این کامپوننت ها و قسمت های آماده ی تهیه شده توسط microsoft میتونه خیلی به مبتدی ها کمک کنهQuestion
نقل قول: من قوی تر از کتابخانه های php ندیدم البته asp کار حرفه ای نیستم ولی اگه asp کارا شک دارن یه کاری کنن که من هر فایلی با پسوند pdf رو از سایتشون دانلود کردم (اسم فایل مشخص نیست) یه عکس داخل اون فایل pdf باشه که اسم سیستم عاملی که داره اون فایل رو دانلود می کنه با ip اون توش باشه
من این کارو با ۲۰ خط می تونم به یه php کار تازه کار یاد بدم تا انجام بده
این کار رو با asp.net هم میشه انجام داد،فکر نکنم کار سختی باشه،اما از اون 20 خط بیشتر میشهWhistle
چند خط شدن یه برنامه نمی تونه معیار مناسبی برای سنجش باشه،خیلی از برنامه ها و مثال ها هستن که در Asp.nep با تعداد خطوط کمتری نوشته میشنExclamation
نقل قول: این کار رو با asp.net هم میشه انجام داد،فکر نکنم کار سختی باشه،اما از اون 20 خط بیشتر میشهWhistle
نه اتفاقا برای منم جالبه می خوام بدونم می شه یا نه
کتاب خونه ای برای کار با عکس ها دارید؟ یعنی می تونید ۲ تا عکس رو بندازید رو هم یا روی یه عکس متن اضافه کنید یا فرمت های مختلف رو به هم تبدیل کنید؟ نمی خوام از صفر کد بنویسم ها کتاب خونه اماده ای برای این کار دارید؟
برای کار با pdf ها چی؟
با فیلم چطور می تونی یه فریم از فیلم رو در بیارید؟
توی آپاچی تقیربا خود آپاچی رو می تونید برنامه نویسی کنید مثلا بگید اگه فایرفکس بود این فایل رو باز کن اگه IE بود اون یه فایلو یا مثلا بگید هر فایلی که اسمش عدد بود در خواست شد رو بفرست به فلان فایل PHP اگه دیده باشید اکثر سایت های php با همین روش تمام صفحاتشون رو html کردن من یادم نمی یاد asp چنین چیزی داشته باشه
کد:
نمی خوام از صفر کد بنویسم ها کتاب خونه اماده ای برای این کار دارید؟
کتابخانه های داخلی خود asp.net و freamwork منظورته یا class ها و کامپوننت های نوشته شده ی آماده موجود در اینترنت؟
صفحه‌ها: 1 2 3