APS.NET در برابر PHP

در ابتدا بگم که بنده به عنوان یک طراح وب مسلط به ASP.Net و PHP هستم و با توجه به تجربه ای که دارم میخوام تکنولوژی ASP.Net رو با زبان برنامه نویسی PHP مقایسه کنم و به نتایج زیر برسیم:

  1. زبان برنامه نویسی PHP چیه و از چه سالی شروع به کار کرد؟
  2. تکنولوژی ASP.Net چیه و از چه سالی شروع به کار کرد؟
  3. چه چیزی باعث میشه که ما PHP را نسبت به ASP.Net برتر بدونیم؟
  4. چه چیزی باعث میشه که ما ASP.Net را نسبت به PHP برتر بدونیم؟
  5. به نظر شما من اول PHP رو یاد بگیرم بهتره ؟ یا اینکه اول ASP.Net رو یاد بگیرم؟ کدومش برای شروع کاربرد بیشتری داره؟

خب در اینجا میخوایم این پنج مورد رو به ترتیب بررسی کنیم تا ابهامات برای دوستان عزیز رفع بشه , برو که بریم:

زبان برنامه نویسی PHP چیه و از چه سالی شروع به کار کرد؟

پی اچ پی یا PHP یک زبان برنامه نویسی است که در اصل برای طراحی وب توسعه یافته , اما می توان از آن به عنوان یک زبان عمومی نیز بهره گرفت. این زبان در سال ۱۹۹۵ میلادی توسط راسموس لردورف (یک برنامه نویس دانمارکی با تابعیت کانادایی) ساخته شد و در حال حاضر در حال توسعه توسط گروه PHP می باشد.

پی اچ پی یا PHP در ابتدا مخفف شده ی صفحه ی شخصی خانگی یا Personal Home Page بود اما با توسعه ی فراوان و افزوده شدن امکانات به چیزی فراتر از یک صفحه ی خانگی تبدیل شد که امروزه آن را مخفف کلمات PHP: Hypertext Preprocessor به معنی پیش پردازنده ی ابر متن می دانند.

کد های PHP توسط یک وب سرور تفسیر می شوند و یک نرم افزار آزاد است که تحت مجوز PHP به صورت رایگان در اختیار همگان قرار گرفته است . همچنین PHP یک پروژه ی open source است که سورس آن را میتوان از سایت مرجع پی اچ پی به صورت رایگان دانلود کرد و توسعه داد.

تا سال ۲۰۱۳ پی اچ پی بر روی بیش از ۲/۱ میلیون سرور وب نصب شده است. همچنین قابل ذکر است که زبان برنامه نویسی PHP به صورت یک پوسته یا شل میتواند تقریبا بر روی همه ی پلتفرم ها و همه ی سیستم های عامل نصب شود و مورد استفاده قرار گیرد ( میتونه هم روی لینوکس و هم روی ویندوز نصب بشه ).

پی اچ پی با استفاده از زبان ++C و Perl توسعه داده شده و امروزه هم در حال توسعه است و قابلیت های اون روز به روز افزوده خواهد شد.

تکنولوژی ASP.Net چیه و از چه سالی شروع به کار کرد؟

قابل ذکر است که ASP.Net یک زبان برنامه نویسی نیست بلکه یک تکنولوژی رائه شده توسط ماکروسافت برای ساخت و توسعه ی صفحات وب است که در حال حاضر این تکنولوژی را  با استفاده از زبان های #C و Visual Basic میتوان استفاده نمود.

ASP مخفف صفحات سرویس دهنده ی فعال یا Active Server Pages است که در حدود سال های ۲۰۰۵ با ارائه ی Net Framework 2.0. منسوخ شد و به ASP.Net تبدیل یافت.

باید گفت که هدف ماکروسافت از ارائه ی ASP.Net رقابت با سایر زبان های تحت وب است و همچنین این تکنولوژی به طور انحصاری به ماکروسافت تعلق دارد و تنها بر روی سیستم عامل ویندوز قابل استفاده خواهد بود. صفحات ASP کامپایل می شوند و به صورت فایل های DLL بر روی وب سرور قرار میگیرند که این خود باعث ایجاد سرعت بالایی در لود شدن صفحات می شود.

وب سرور ماکروسافت IIS نام دارد که به طور معمول با انتشار هر ورژن از سیستم عامل ویندوز ورژن IIS نیز جدیدتر می شود , همچنین ماکروسافت یک محیط برنامه نویسی یکپارچه یا IDE (مخفف Integrated Development Environmen) برای استفاده از ASP.Net ارائه میدهد که نام آن Visual Studio است و در بین برنامه نویسان شهرت زیادی دارد.

 چه چیز باعث میشه که ما PHP را نسبت به ASP.Net برتر بدونیم؟

دلایل زیادی وجود داره که میشه گفت PHP نسبت به ASP.Net از جنبه های مختلفی برتر است , یکی از این دلایل رایگان بودن PHP است , همچنین وب سروری که برای PHP عرضه می شود کاملا رایگان است و سیستم عاملی که اکثرا برای وب سرورهای تحت PHP استفاده میکنند لینکوس نام دارد که اونم رایگان خواهد بود و تنها هزینه ای که پرداخت خواهد شد هزینه ی استفاده کردن یا کرایه کردن تجهیزات سخت افزاری سرور به مدت زمان معین است و این هزینه ها به شدت کمتر از هزینه های یک وب سرور ویندوزی خواهد بود!

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

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

سایت های بزرگی با استفاده از PHP طراحی و پیاده سازی شده اند که میتوان FaceBook و Instagram را نام برد! شما در هنگام طراحی سایت خود چیزی بیشتر از فیس بوک میخواهید؟ پس هنگام استفاده از PHP هیچ تردیدی به خود راه ندهید چون همه چیز در دستان شما قرار دارد و حتی هنگامی که حس میکنید محدود هستید میتوانید با استفاده از زبان های Perl و ++C به توسعه ی PHP بنا به نیاز خود بپردازید و امکانات مورد نیاز خودتون رو به PHP اظافه کنید! این ویژگی در ASP.Net نیز وجود دارد.

زبان برنامه نویسی PHP نسبت به زبان های مورد استفاده در ASP.Net یعنی #C و VB راحت تر و ساده تر است. شما برای استفاده از تکنولوژی ASP.Net نیاز به یادگیری مبانی ASP.Net و یکی از زبان های برنامه نویسی ویندوزی دارید ولی در هنگام استفاده از PHP تنها نیاز به یادگیری PHP دارید!

چه چیز باعث میشه که ما ASP.Net را نسبت به PHP برتر بدونیم؟

تکنولوژی ASP.Net توسط غول نرم افزاری جهان یعنی ماکروسافت ارائه میشود که این خود برای اعتماد به این زبان کافی است! تنظیمات ASP.Net به طور پیش فرض به گونه ای است که حتی اگر فردی ساده باشید میتوانید سایتی با امنیت بالا ایجاد کنید! اما برای استفاده از PHP شما نیاز به اطلاعات بالایی نسبت به روش های امنیت و هک دارید و PHP این تنظیمات را به طور پیش فرض برای شما ارائه نمیدهد , در استفاده از PHP این خود شما هستید که باید بدانید که چه دستوراتی امنیت را به خطر میندازد و چه دستوراتی امنیت شما را تضمین خواهد کرد!

ASP.Net طوری طراحی شده است که بتوان با استفاده از زبان های #C و VB  به همان صورت که برای ویندوز برنامه می نویسیم برای وب هم برنامه نویسی کنیم! محیط ارائه شده برای برنامه نویسی توسط ماکروسافت Visual Studio است که دارای ابزارهای زیادی است و همچنین برای مباحثی مانند اتصال به دیتابیس و گرفتن داده ها از دیتابیس ابزار های زیادی ارائه می دهد.

شما در هنگام استفاده از PHP برای هر کاری که قرار است انجام شود نیاز به برنامه نویسی خواهید داشت اما در استفاده از ASP.Net میتوان یک سایت بزرگ را بدون حتی یک خط برنامه نویسی توسط منوها و ویزارد های ویژوال استادیو ساخت! ابزار های اتصال به دیتابیس مانند grid View و … کار را برای توسعه دهندگان خیلی راحت کرده است. همچنین با ارائه ی هر ورژن از ویژوال استادیو شاهد اظافه شدن ابزارهای جدید و همچنین افزایش قدرت و یکپارچگی در آن خواهیم بود.

ماکروسافت هزینه ای که در قبال ASP.Net و هرکدام از ابزار های آن دریافت میکند که در مقایسه با PHP ممکن است توی ذوق ادم بزند اما سیستم عامل ویندوز در مقایسه با لینوکس خیلی ساده تر خواهد و به شدت زمان شما در برنامه نویسی صرفه جویی خواهد شد. شما این هزینه را برای زمانی که همچون طلا از دست میدهید پرداخت خواهید کرد!

کدهای ASP.Net در اخر کار برای انتقال بر روی وب سرور کامپایل خواهند شد که این هم مزیت محسوب میشود و هم نقطه ضعف , از این جهت مزیت محسوب میشود که سرعت اجرای آنها نسبت به PHP بسیار بیشتر خواهد بود اما از این جهت ضعف محسوب میشود که اگر شما نیاز به ویرایش کدها داشته باشید باید سورس کد خام را دوباره ویرایش و کامپایل کنید و به وب سرور انتقال دهید! یعنی فایل جدید جایگزین فایل قدیم شود ولی در PHP تنها کافی است همان خطی که نیاز به ویرایش دارد را تغییر دهید و ذخیره کنید.

به نظر شما PHP رو اول یاد بگیرم یا ASP.Net ؟

اگر شما برنامه نویس ویندوز هستید و هم اکنون به یکی از زبان های #C یا VB مسلط هستید به نظر من اگر در زمینه ی ASP.Net فعالیت خودتون رو شروع کنید خوب خواهد بود. اما اگر هیچ تخصص یا آشنایی در زمینه برنامه نویسی ویندوزی ندارید بهتر است که شروع به یادگیری PHP کنید چون زودتر به هدف خودتون یعنی همون طراحی وب خواهید رسید و زمانی را برای یادگیری زبان های برنامه نویسی ویندوزی از دست نمی دهید.

امیدوارم که این توضیحات مورد استفاده دوستان قرار بگیره , ببخشید اگه در مقایسه ی ASP و PHP نکاتی رو ذکر نکردم. اگه نکته ای مد نظر شما است یا تجربه ای در خصوص کار کردن با ASP.Net یا PHP دارید اون رو از بخش نظرات ذکر کنید تا دوستان نیز استفاده کنند.

به اشتراک بگذارید:Email this to someoneShare on FacebookTweet about this on TwitterShare on Google+Digg thisShare on LinkedInPin on PinterestShare on StumbleUponFlattr the authorShare on RedditBuffer this pageShare on TumblrPrint this pageShare on YummlyShare on VK
  1. مهران

    سلام برای کار تو شرکتا باید چیا بلد باشیم؟ من قالب وردپرس بلدم بسازم ..php شی گرایی بلدم فقط mvc و فریمورک بلد نیستم ( و همه رو خودم تنهایی یاد گرفتم ) به نظر شما لازمه برم کلاس ؟

    • شما میتونید توی بازار کار به راحتی فعالیت کنید و چیزهایی رو که بلد نیستید در طی انجام پروژه های مختلف بیاموزید. من به شما توصیه میکنم که توی هیچ شرکتی کار نکنید چون اکثر شرکت ها از شما کار میکشند و فقط ۱ درصد از درامد خودشون رو به شما میدن . مثلا من توی یه شرکتی کار میکردم روزی ده میلیون شاید درامد داشت ولی ماهی حدود ۵۰۰ هزار تومن به من میداد! به جز اینکه چشم و گردن شما داغون بشه هیچ فایده دیگه ای نداره مگر اینکه بخواید تجربه و رزومه کاری کسب کنید.

  2. برای کار کردن به صورت حرفه ایی توی بازار با توجه به سطح فعلی حتما باید یکی از زبان های asp و یا php تحت mvc و یک فریمورک قوی رو بلد باشید.
    تسلط کافی به برخی از تکنولوژی ها مثل Angularjs و جی کوئری و ایجکس رو بلد باشید
    همچنین کار با سرور ها ، امنیت و بانک اطلاعاتی در سطح ۴ نرمالسازی.در این صورت می تونید توی بازار به صورت مطمعن تا چند سالی کار کنید اما به قول دوستمون ۱ صدم درامد نصیب شما میشه

  3. مهران

    ممنون دوستان بابت راهنمایی هاتون….پس شرکتا خوب نیستن

  4. میلاد

    اگه توی شرکت ها کار نکنن پس کجا کار کنیم؟؟؟

    • شرکت هایی که روزی یه سایت میسازن خوب نیست، اما بعضی شرکت ها هستن که یه محصول تولید میکنن حالا یا سایت یا بازی یا هرچی دیگه و اون رو توسعه میدن که خیلی خوبه توشون کار کرد.

می‌خواهید دیدگاهتان را بیان کنید؟