نمايش پست تنها
قديمي November 3rd, 2009, 02:31   #3
Kasra
مدیر تالار بروکرها، مسئول تالار کامپیوتر و اینترنت
 
Kasra's Avatar
 
تاريخ عضويت: Sep 2007
محل سكونت: تهران
ارسالها: 1,328
تشکر: 12
تشکر از ايشان: 10,328 بار در 1,400 پست
Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)Kasra (سطح 11)
0

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

PHP یا ASP.NET

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


- همانطور که میدانید ASP.NET یک محصول مایکروسافتی است که در مجموعه دات نت ارائه شده است. اما php یک زبان تحت وب اوپن سورس است.
- برنامه های نوشته شده توسط ASP.NET روی سرور های ویندوز قابل اجرا هستند ، اما برنامه هایی که با php تولید میشوند تحت لینوکس اجرا میشوند. (البته تحت ویندوز هم میشه php نصب کرد، اما تحت لینوکس به صرفه تره . چون اجاره سرور لینوکس ارزان تره و سرعت بیشتری داره)
- ASP.net قابلیت encode کردن کدهای نوشته شده سمت سرور را با تبدیل آنها به یک فایل DLL فراهم ساخته است ( code-Behind ) تا حتی کسی که به سرور شما دسترسی دارد هم سورس های شما رو نبیند. اما php گزینه کامپایل ندارد . البته یک رمزنگار بنام zend برای php نوشته شده که کاری مشابه encode کردن را بر روی کدهای php انجام میدهد.
- قابلیت های شی گرایی در asp.net به دلیل قابلیت کامپایلی بودن آن و مجتمع شدن با سایر زبان های دات نت خیلی بهتر پیاده سازی شده است.
- Asp.net برای برنامه نویسی های سریع بسیار مناسب است. زیرا تعداد بسیار زیادی کتابخانه دارد که کامپوننت های مخصوص هر کاری را بصورت آماده در اختیارتان قرار می دهد . اما در برنامه نویسی با php شما مجبورید اکثر بخش های برنامه نویسی را خودتان بنویسید و این وقت زیادی از شما می گیرد. البته در پروژه های بزرگ ، بخش کدینگ چون یکبار نوشته شده و چندین بار استفاده میشود، در میزان وقتی که در مقایسه با asp.net می گذارید چندان فرقی نمی کند. در ضمن در php گاهی دستان شما بازتر است.
- IDE به محیطی برنامه نویسی زبان ها میگویند. ASP.net تحت Visual Studio نوشته میشود که در کشورهایی که ملزم به رعایت کپی رایت هستند 4000 دلار قیمت دارد. در حالی که IDE های موجود برای زبان PHP معمولا رایگان است. اما در ایران که خداروشکر این مورد با هزار تومن در درسترس است.
- بانک اطلاعاتی مورد استفاده برای زبان های دات نت معمولا SQL Server است و بانک اطلاعاتی مرتبط با PHP معمولا MySQL است. تا این اواخر MySQL امکان نوشتن stored Procedure را نداشت که گویا در نسخه جدیدش اضافه شده. قیمت لایسنس SQL server معمولا خیلی از my sql بالاتره.
- کدهای رایگان برای هر دو زبان در اینترنت به وفور یافت میشود و در این مورد نگرانی ندارید.
- امکانات URL-Rewriting در زبان PHP ساده تر از زبان های دات نتی قابل پیاده سازی است. برای اینکار در ریشه سایتی که نوشته اید یک فایل htaccess میگذارید و تنظیمات مربوط به URL Rewriting را داخل آن تنظیم میکنید. اما برای زبان های دات نتی شما باید این تنظیمات را روی سرور انجام دهید. به همین دلیل اگر پروژه ای نوشته باشید که بخواهید در آن از امکانات URL Rewriting استفاده کنید در حالت برنامه نویسی دات نتی، نیازمند اجاره کردن یک سرور هستید که اینکار برای پروژه های کوچک که با 20 مگابایت هاست کارشون راه میفته توجیه اقتصادی نداره.
(( URL-Rewriting به ایجاد آدرس های مجازی روی سرور میگن. مثلا آدرس وبلاگ هایی که شما در یک سرویس مانند پرشین بلاگ میسازید مجازی هستند. چون هیچ دامنه ای امکان داشتن یک میلیون ساب دامین واقعی رو نداره. پس اینکار توسط شبیه سازی انجام میشه که بهش URL Rewriting میگن.))
- PHP با زبان خاص خودش نوشته میشود و چندان هم مشکل نیست.اگر شما زبان C را بلد باشید ، در فراگیری این زبان مشکلی نخواهید داشت . اما ASP.net با استفاده از زبان های دات نتی قابل نوشتن است. که معروف ترین آنها vb.net و سی شارپ است. کدنویسی با استفاده از VB.net برای تازه کارهای برنامه نویسی خیلی ساده تر است و کد نویسی C# برای دانشجویان رشته نرم افزار که با زبان C آشنایی دارند توصیه میشه. معمولا هر برنامه نویسی با یکی از این زبان ها کار میکند و روی آن زبان متمرکز میشود. قدرت هر 2 زبان سی شارپ و VB.net در برنامه نویسی یکسان است و فقط سینتکس آنها متفاوت است.
خلاصه اینکه این دو زبان قدرت یکسانی دارند و فقط گاهی برای رسیدن به یک نتیجه خاص در پروژه تان ، با یکی ممکن است بیش از دیگری کد بنویسید و گاهی برعکس . اما در کل چیزی از هم کم ندارند و این پارامترهای تجاری است که تعیین میکند که در پروژه های بزرگ از کدام زبان استفاده شود .

البته برای نوشتن پروژه های تحت وب راه های دیگری نیز موجود می باشد ولی معمولا مهمترین آنها ASP و PHP است . غیر از این دو می توان به JAVA ، JSP و ... نیز اشاره کرد .

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

با احترام
کسری
__________________
Cole Sear: Walking around like regular people. They don't see each other. They only see what they want to see. They don't know they're dead.

آخرین ويرايش توسط Kasra در November 3rd, 2009 و ساعت 02:37
Kasra آفلاين است پاسخ با نقل قول