# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > ASP.NET Web Forms >  تفاوت ASP.NET و PHP

## مهران رسا

سلام .

کدام یک برای برنامه نویسیه تحت وب مناسب تراند ؟!
ممنون میشم یه توضیح کامل در مورد تفاوت های این دو زبان بدین ...

----------


## milade

سلام
هر کس یه نظری داره .
php کمی سادست و کمتر تغییر می کنه اما asp.net هر روز داره تغییر می کنه به طوری که تا پارسال .net 2.0  بود حالا .net 3.0 و .net 3.5 و هر روز در حال پیشرفت و به طبع برنامه نویسا باید خودشون رو تطبیق بدن.
php یه خورده امنیتش پایینه و هک زیاد می شه ولی asp.net بیشتر از طریق sql هک می شه که اونم کم شده(تا کمتر از 5 درصد)
خلاصه من می گم asp.net اما سختی خیلی داره و امروزه برای این که بتونی کاره ای باشی باید زبانهای :
C#‎ یا vb از نوع .net و javascript و اجاکس و sql رو بدونی
بای

----------


## DotNet_King

php حرف نداشت ولی چند سال پیش که asp خالی بود! الان با زیاد شدن امکانات هاست ها مثه هاست های وسندوز خوب و asp.net دیگه جایی واسه عرض اندام php نمونده!

تو ایران ما  ترکیب asp.net + sqlserver خیلی توپ واسه کار جواب می ده! 

از من میشنوی تحت هر شرایطی از زبان بیخود php بپرهیز!
مطرح کردن این سوال تو تالار asp.net بی انصافی است! چون اینجا همه میگن asp.net و مرگ بر php!

----------


## jaza_sa

> phpمطرح کردن این سوال تو تالار asp.net بی انصافی است! چون اینجا همه میگن asp.net و مرگ بر php!


نه ، کی میگه مرگ بر PHP !!!
تا چند وقت PHP یک محیط Editor خوب نداشت ، ولی به تازگی بعضی از شرکت ها ویرایشگرهای خوبی رو برای PHP معرفی کردند ،
علاوه بر اون چیزی که در جهان داره به سرعت رشد میکنه جامعه Open Source هاست 
خیلی راحته و یادگیریش آسونه ، بعلاوه خیلی کم باگ میده
PHP یک زبان شیء گرا *نیست* و ...

----------


## merlin_vista

دوستان چند وقته براي من يه سوال پيش اومده راجب PHP و ASP.NET : (گفتم همينجا بپرسم !! )

*ميخواستم بدونم آيا شما هم قبول داريد كه سرعت PHP بيشتر از Asp.net هست يا نه ؟*

----------


## jaza_sa

> دوستان چند وقته براي من يه سوال پيش اومده راجب PHP و ASP.NET : (گفتم همينجا بپرسم !! )
> 
> *ميخواستم بدونم آيا شما هم قبول داريد كه سرعت PHP بيشتر از Asp.net هست يا نه ؟*


ASP.NET به علت ساختاری که داره از PHP کندتره ، و این هم یکی از معایب ASP.NET هست
و در کل از .NET نباید انتظار سرعت بالا داشت  :چشمک:

----------


## saleh_hi_62

سلام
دوستان عزیز 1 سر به این سایت بزنید .
توضیحات جالبی ارائه داده.
موفق باشید.
http://p30lords.com/forum/showthread.php?p=46790

----------


## m.hamidreza

این سوال بارها عنوان شده بهتره جستجو کنید تو همین سایت یا تو گوگل.




> php کمی سادست


برای کار حرفه ای با PHP نیاز هست شما مفاهیم رو کاملا درک کنی! زمانی که شما باید صرف حرفه ای شدن توی PHP کنی از زمانی که باید صرف حرفه ای شدن تو NET. کنی به نظر من بیشتره! در کل develop کردن تو NET. سریعتر از PHP انجام میشه علتش هم مایکروسافتی بودن NET. هست و البته مفاهیم شی گرایی هم تاثیر زیادی داره.




> php یه خورده امنیتش پایینه و هک زیاد می شه ولی asp.net بیشتر از طریق sql هک می شه که اونم کم شده(تا کمتر از 5 درصد)


نظرات غیر تخصصی ندید!






> PHP یک زبان شیء گرا *نیست* و ...


البته داره میره به این سمت...




> سلام
> دوستان عزیز 1 سر به این سایت بزنید .
> توضیحات جالبی ارائه داده.
> موفق باشید.
> http://p30lords.com/forum/showthread.php?p=46790





> کدهای ASPX فقط بر روی وب سرور IIS و آن هم بر روی سیستم عامل Windows قابل اجراست


تا جایی که من میدونم کدهای #C روی Linux هم قابل اجرا هستن.

----------


## gdevnb

> تا جایی که من میدونم کدهای #C روی Linux هم قابل اجرا هستن.


سلام
منظورتون اینه که الان پروژه های Asp.net روی هاستهای لینوکس هم اجرا میشن؟ یا اینکه منظ.رتون استفاده از مونو هستش؟

----------


## emad_67

> ASP.NET به علت ساختاری که داره از PHP کندتره ، و این هم یکی از معایب ASP.NET هست
> و در کل از .NET نباید انتظار سرعت بالا داشت


من قبلا یه جایی خونده بودم که سرعت asp.net به علت اینکه سورس های اون کامپایل میشه بیشتر هست ولی چون سورس های php نیاز به تفسیر داره از سرعت کمتری برخورداره. آیا این طور نیست؟

----------


## amirniknam

ببينيد دوست من هيچ كس نمي تونه بگه PHP از ASP.Net بهتره و برعكس هر كدوم مزايا و معايب خودشون رو دارند و اونقدر قابليت دارند كه تمامي نياز هاي برنامه نويس ها رو بر طرف كنند بنابراين نه از نظر امنيت نه سرعت و غيره شما نگران نباشيد چون هر دو تكنولوژي بسيار مناسب و حرفه اي پياده سازي شده اند مثلا همين فروم قدرتمند با PHP نوشته شده اما Gmail از asp.net استفاده ميكنه ولي اين طور كه به نظر من مي ياد آينده ASP.NET به خاطر IDE قدرتمندش و پشتيباني مايكروسافت روشن تر هست همين طور كه ميبينيد در مدت كوتاهي چقدر پيشرفت كرده و قدرتمند تر شده
امروزه يك سايت نسبتا پيشرفته با ASP.NET در مدت زمان كوتاهي پياده مي شه اما اين كار با PHP خيلي زمانبر هستش من خودم قبلا وقتي ASP 3 بود با  PHP برنامه مي نوشتم اما الان تقريبا 4 ساله كه بسيار كم و اون هم به درخواست مستقيم مشتري از PHP استفاده مي كنم چون با ASP.NET خيلي راحترم

----------


## merlin_vista

> اما Gmail از asp.net استفاده ميكنه


ميشه يه منبع معتبر براي اين گفته خود معرفي كني ؟؟

----------


## مهران رسا

ضمن تشکر از همگی دوستان .

با توجه به نظرات گرانقدر شما و آشنایی که با زبان VB دارم ترجیح میدم به سراغ ASP.NET برم !

متشکرم !

----------


## eAmin

> PHP یک زبان شیء گرا *نیست* و ...


سلام.

کی گفته نیست؟!؟!؟!!!!؟ :متعجب: 

این رو برو توی انجمن، php بگو، ببین چقدر با دلیل و مدرک، تو رو قانع می کنن، که php یک زبان شیئ گراست.

----------


## مهران رسا

راستی در مورد ajax هم یه سوال داشتم !

پیاده سازی این تکنولوژی توسط کدامیک ساده تره ؟!! PHP یا ASP.NET ؟!!

----------


## merlin_vista

آجاكس ربطي به زبان برنامه نويسي نداره . يه تكنيك ارسال اطلاعات به سرور است . حالا فرقي نمي كنه با كدام زبان اين اطلاعات را ارسال و دريافت كني . 

البته پياده سازي Ajax با Asp.net راحت تر از PHP هست . دليل اون هم كتابخانه Ms Ajax است ..

----------


## zfarhad2000

نقطه‌ای که هیچیک از دوستان اشاره‌ای بهش نکردند، غنی بودن زبان php از نظر تعداد اسکریپتها و کتابخانه‌ها آماده استفاده هست. در این مورد اصلا asp.net قابل مقایسه با php نیست. اگر مثلا شما به دنبال یک اسکرپیت آماده باشید با یک جستجو ساده می‌تونید صدها مورد رو برای php پیدا کنید که بعد می‌تونید با توجه به opensource بودن اونها اسکریپت رو بسته به نیازتون گسترش داده و استفاده کنید. یعنی در اکثر مواقع در php نیاز نیست از اول بشنید و اسکریپتی رو بنویسید.

حتی اگه بخواید از اول اسکریپتی رو بنویسید تعداد کتابخانه و framework های opensource ای که برای php منتشر شده خیلی زیاد هست می‌تونید با استفاده از این کتابخانه حجم کدی رو که می‌نویسید به شدت پایین بیارید و کارتون سریعتر راه بیافته. در واقع این مزیت php در سایه نرم‌افزار آزاد بودنش به دست اومده در حالی که شاید asp.net به دلیل انحصاری بودنش این مزیت رو هیچوقت به دست نیاره.

از طرفی php یک زبان شی‌گرا هست. دیگه عصر php 4 تموم شده و هیچکس دیگه از نسخه 4 استفاده نمی‌کنه که بخوایم بگیم php شی‌گرا نیست در نسخه 5 به خوبی از شی‌گرایی حمایت میشه و البته برنامه گسترده‌ای برای توسعه نسخه 6 وجود داره که حمایت از شی‌گرایی به نقطه اوجش خواهد رسید.

----------


## h.jaza

دوست عزیز یه سری به این دو تا لینک بزن، بد نیستن.
http://blog.phpmystery.com/print/page/26/1081487566 و http://www.gtpland.com/news,737.
البته وسه ی تو چون با VB آشنایی داری مسلما ASP.Net بهتره ولی این به هیچ وجه از ارزش های PHP کم نمی کنه.

----------


## Patira

*خیلی از سایت ها با زبان هایی مثل asp و php طراحی شده اند و ما وقتی سایت هایی مثل اینها لود میشن و در
حال مشاهده اونها هستیم بحثی پیش میاد که بیشتر بین برنامه نویس ها هستش اینجور بحث ها تا مصرف کننده
که کدوم زبان از دیگری برتری داره , منظوری php و asp هستش الان حتما موقع  خوندن این تیکه هرکی هر زبانی داره باهاش محصولی تولید میکنه تو دلش میگه  فلان زبان ! …
من الان میام از تمام جنبه ها مقایسه میکنم و در انتها نمیگم کدوم بهتره باز هم انتخاب با خودتون .
برای شروع کار میام تعریفی از نحوه کار و استفاده هاشون و تغذیه این دو  زبان رو میگم . هر دوی این زبان یعنی asp و php در سایت های داینامیک مورد  استفاده قرار میگیرند و هر دوی اینها قادرند پروژه هایی که با بانک  اطلاعاتی در ارتباط اند اتصال پیدا کنند .
ASP یا همون Active Server Pages از طرف مایکروسافت عرضه شده و با IIS یا  همون Internet Information Server استفاده میشه و فقط و فقط هم روی سرور  های مایکروسافت امکان لود شدن داره .
PHP یا Hypertext Preprocessor که توسط Rasmus Lerdorf طراحی و تجزیه شده .  این زبان بعد ها توسط افراد مختلفی اصلاح شده هستش . این زبان بر روی  سرورهای Unix و Linux و همچنین NT Server بارگزاری میشود .

این هایی که تا به اینجا خوندید یک سری تفاوت های بسیار اندک میان این دو زبان بوده است یعنی بین زبان های asp و php .

حالا میایم مقایسه رو به بخش هایی تقسیم میکنیم برای شروع از نظر هزینه و به طور کل ارزش نگهداری مقایسه میکنیم :
برنامه هایی که به زبان ASP نوشته میشوند نیاز دارند که ISS بر روی پلتفرم  ویندوز سرورشون نصب باشه که این مورد رایگان نیست! . اما برنامه هایی که به  زبان PHP نوشته شدن اند بر روی لینوکس قابلیت اجرا دارند که این مورد  رایگان هستش .
در زبان ASP اتصال به دیتابیس کمی پرخرج هستش یعنی منظورم اینه ASP از  MS-SQL استفاده میکنه که محصولی از شرکت مایکروسافت هستش و نیاز به خریدن  اون هست .
در زبان PHP عموما از بانک اطلاعاتی MySQL استفاده میشه که خوب رایگان هستش …

خوب تا بخش اول مقایسه php از لحاظ هزینه راه اندازی به صرفه تر بوده , حال  میرسه نوبت قسمت مهمی که بسیار مورد توجه قرار میگیره یعنی سرعت بارگزاری  اطلاعات :
اگر ما بیایم سرعت بارگزاری میان asp و php رو مقایسه کنیم مشاهده میکنیم که php برتری بالاتری نسبت به ASP ادامه … داره .
php کد ها رو سریعتر از asp مورد بارگزاری و اجرا قرار میده . دلیل این  مشکل هم اینه که ASP روی ساختار COM پیاده سازی شده هستش که این عامل باعش  میشه مقدار پردازش مورد نیاز برای اتمام یک کار معین برای سرور بیشتر بشه,  کد های php توسط فضا مموری اجرا میشن که این براش خیلی خوبه !

تغییره جایگاهی نداشتیم تا اینجا نیز نشان از برتری php بوده !, خوب البته  نظر نمایشی بود یعنی طبق دیده دارم میگم حالا ببینیم تا در ادامه چه رخ  میدهد . این دفعه نوبت به سازگاری هاشون با پلتفرم ها هستش :
برنامه هایی که با زبان php نوشته میشن میتونن روی پلتفرم های گوناگون اجرا  بشن مثل Linux,Unix, Windows و Solaris اما در زبان ASP بیشتر به پلتفرم  ویندوز وابستگی و کیفیت بیشتری داره البته این نکته فراموش نشه که ASP رو  میشه روی پلتفرم Linux با نصب ASP-Apache هم اجرا کرد .

حال به بررسی هزینه های اضافه می پردازیم :
ابزار های زیادی از زبان PHP استفاده میکنند که به صورت رایگان وجود دارند .  پس از اینکه PHP سورس باز شد کدهای زیادی را می شود در انجمن ها و به طور  کلی در اینترنت یافت که با زبان PHP نوشته شده اند . از ویژگی های درون  ساختی که در php وجود داره میشه به ftp,email در صفحات اشاره کرد و یا  مکانیزم مخفی سازی .
اما ASP چنین ویژگی هایی رو در خودش به صورت ترکیبی نداره و فقط به صورت  افزودنی هستش یعنی کامپوننت هایی را داراست که این ویژگی را در خود دارند,  از این رو این افزوده ها هزینه هایی را در بر میگیرد برای این قبیل  کامپوننت ها.

به بحثمون ادامه میدیم با قسمت زبان پایه :
Base ای که php روش هستش زبان C++‎ میباشد و PHP از این ترکیب استفاده کرده  که کاملا شباهتی به c/C++‎ داره . c/C++‎ بی حاشیه ترین و مطرح شده ترین زبان  برنامه نویسی هستند . افراد و برنامه نویس های زیادی هستند که این زبان رو  دوست دارند . مسلما به خاطر راحتی کار و تمایلشون در این مورد بیشتر افراد  به سراغ PHP میروند .
زبان ASP بیشترش از دسته Visual Basic هستش که باز هم وابسته و مربوط به محصولات مایکروسافت هستش .
اینطور وابسته بودن شخص به شخص هستش که این زبان رو برای دیگران راحت میکنه .
امیدوارم از این مقاله آموزش خوشتان آمده باشه و همچنین بدردتان بخورد 
موفق باشید*

----------


## nasawish

داری میگی کامپایل.این خودش خیلی سرعتو میاره پایین.حالا خطاهاشو نمیگم.php  از بافر هم استفاده میکنه.این سرعتو خیلی میبره بالا

----------


## Saman Hashemi

دوست عزیز IIS و SQL Server نسخه رایگان هم داره ورژن های Express...!
کاشکی یه ذره در مورد ASP.net میخوندی و فقط این مقاله کپی و پیست نمیکردی،قصد طرفداری ندارم چون هر گل بوی خودش میده اما اگه میخوایین در مورد معایب یه چیزی صحبت کنید خواهش به خودتون به عنوان مرجع مراجعه نکنید و مرجع معتبر معرفی کنید...! 
این دلیل هایی که بعد از سه سال شما آوردی که ما 4سال پیش میدونستیم بعد از 3سال امیدوار بودم که مطالب جدیدتری ازین تفاوتها پیدا شده باشه ...!

----------


## hamed-php

> دوست عزیز IIS و SQL Server نسخه رایگان هم داره ورژن های Express...!


سلام
تفاوت های اصلی این نسخه رایگان با نسخه های دیگر در چیست؟

----------


## meisam3322

با سلام،

من همیشه متنفرم از این بحث ها که این بهتره و اون یکی بدرد نمیخوره . به قول دوستمون :




> چون هر گل بوی خودش میده


ولی چند نکته هست که باعث شد توی این تاپیک پست بدم:

اول اینکه ، شما میگین سرعت PHP و ASP.NET با هم فرق میکنه و PHP بهتره. ولی عزیز من ، شما مهمترین نکته در دانلود شدن صفحات وب رو فراموش کردین، که اون هم ساختار استاندارد HTML هست و به کارگیری مناسب از المان های اون. به نظر من طراحی مناسب HTML سرعت یک وب سایت رو تعیین میکنه و Data های موجود برای دانلود و نمایش محتوای صفحه. 




> php یه خورده امنیتش پایینه و هک زیاد می شه


برادر من کی اینو گفته ؟ بابا تو رو خدا با مدارک فنی چیزی رو بگین. 




> خلاصه من می گم asp.net اما سختی خیلی داره


همچین چیزی نیست . میشه یکی از سختی هاشو بگی ؟ من که چند ساله دارم با ASP.NET وب سایت طراحی میکنم و سختی ندیدم که حل نشه. بله !! معمایی که حل بشه آسان میشه !!!




> ASP.NET به علت ساختاری که داره از PHP کندتره ، و این هم یکی از معایب ASP.NET هست


دادشه من کدوم ساختارو میگی ؟ بگو ما هم بدونیم. شما میتونین بگین ساختار PHP چیه ؟ که حالا داری مقایسه میکنی ؟




> در کل از .NET نباید انتظار سرعت بالا داشت


من نمیدونم ملاک شما برای سرعت بالا چیه ؟ عزیز من وقتی کد نویسی شما خارج از استاندارد و تحلیل باشه و به روشی که سرور رو بیش از حد درگیر کنه، معلومه سرعت پایین میاد !!




> اما asp.net هر روز داره تغییر می کنه به طوری که تا پارسال .net 2.0 بود حالا .net 3.0 و .net 3.5 و هر روز در حال پیشرفت و به طبع برنامه نویسا باید خودشون رو تطبیق بدن.


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

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

موفق باشین

----------


## omid_student

کسایی که میگن php به درد نمیخوره واقعا دیوانه هستند
آخه یکی به اینا بگه آیا میشه asp.net رو روی سیستم عامل لینوکس و مک اجرا کرد
اصلا چرا بیشتر سایت های موتور جستجو و حرفه ای با php مینویسند

----------


## aminghaderi

> داری میگی کامپایل.این خودش خیلی سرعتو میاره پایین.حالا خطاهاشو نمیگم.php  از بافر هم استفاده میکنه.این سرعتو خیلی میبره بالا


هیچ فرقی بین سرعت نداره ، هر دوی اونها دارند عمل ترجمه رو انجام می دهند ، شما بفرمایید زمانیکه صفحه php شما می خواهد کوئری رو از MySQL بخونه این الان به چه معنی هست؟؟
اون هم داره یه جوری ترجمه می شه ، اون بافر داره ، این چیزی به نام کش داره. 
خطا هم که به نظر من اصلا نداره ؟! اگر داره چرا ما ولش نمی کنیم؟؟؟ عقلانی نیست زبان یا تکنولوژی که خیلی باگ و  خطا داشته باشه رو یه برنامه نویس مبتدی یا یه مهندس با سابقه استفاده کنه چی برسه در دانشگاه ها واحد اصلی مهندسی نرم افزار باشه؟!
ابزار ابزاره ، بسته به این داره کی از اون استفاده کنه ، یه مبتدی استفاده می کنه یه سایتی می سازه که شما می بینی و می گی این چیه و همون رو می دهند دست 4 تا متخصص بعد می بینی پرتالی مثل تبیان به وجود اومد یا وب سایت X و Y یا سیستم های مکانیزه دانشگاهی .
سایت کانون فرهنگی آموزش رو یه نگاه بندازید فکر کنم جالب باشه.
برای PHP هم سایت ها و نرم افزار های بزرگی طراحی شده نمونه هاش سایت کلوب دات کام ، سایت سنجش (یه قسمتش) و....
نمی شه به سادگی نقض کرد ، هر کدام ویژگی خودش رو داره ، با هر کدام راه تریم باید با همون کار کنیم.

موفق باشی عزیزم.

----------


## boysilent

> راستی در مورد ajax هم یه سوال داشتم !
> 
> پیاده سازی این تکنولوژی توسط کدامیک ساده تره ؟!! PHP یا ASP.NET ؟!!


به php توهین نکنید  چه وضعشه ؟؟/
یرید اینجا سوالاتون رو بپرسید
http://forum.iranphp.org/Forum-%DA%A...8C%D8%B3%DB%8C

----------


## rezashirazim

> به php توهین نکنید  چه وضعشه ؟؟/
> یرید اینجا سوالاتون رو بپرسید
> http://forum.iranphp.org/Forum-%DA%A...8C%D8%B3%DB%8C


دوست عزیز کسی به php توهینی نکرده! من نمیدونم چرا بعضی از ماها اینقدر تعصب بیخودی داریم به یک موضوعی بدون اینکه راجع بهش تحقیق کنیم... 

چند تا مقاله اینجا میزارم بهتره یک مطالعه ای بکنید : 

مقایسه php و asp.net از نظر سرعت

طراحی سایت با php بهتر است یا asp.net - مقایسه asp.net و php

----------


## bomb23

http://naspinski.net/post/AspNet-vs-...omparison.aspx
من دیگه حرفی ندارم  :لبخند گشاده!:

----------


## csvbcscp

با اینکه من عاشق محصولات مایکروسافتم، اما به نظرم پی اچ پی انتخاب بهتریه
چون اکثر CMS های پولی و رایگان توسط این زبان نوشته شدن
هاست ویندوز معمولا خیلی گرون تره و  هزار تا دلیل دیگه، که فقط وقتی که شروع به درست کردن یه سایت واقعی کنی بهشون پی خواهی برد
ممنون بابت سوال خوبت

----------


## ایمان مدائنی

مقاله های زیر در این رابطه هستند 

PHP سریعتر از ASP.NET! افسانه یا واقعیت؟


مقایسه PHP و Asp.NET


طراحی سایت با ASP.NET بهتر است یا PHP - مقایسه PHP و ASP.NET

----------


## ehsan_296

به قول استاد کرامتی PHP جای خودش ASP و C#‎ جای خودش . دوستان باید ببینید کاری که می خواید انجام بدید کدوم رو می طلبه :)

----------

