چهارشنبه, 10 شهریور 1395 08:48

چرا PHP از ASP.Net بهتر است؟

بین توسعه دهنده های سایت خیلی بحث و تناقض بین انتخاب ASP.Net یا PHP بوده. به نظر شما کدوم یکی بهتره؟
اگه از برنامه نویس ها بپرسید، مثل همیشه میخوان دوباره بگن نمیدونن کار با کدومش راحتتره یا کدومش امکانات بیشتری در اختیار کاربر میذاره، این بحث ها هنوز تموم نشده.
توسعه دهنده ها هم که انقد که تو برنامه نویسی از زبون PHP استفاده کردن، بهش معتاد شدن. از طرف دیگه با زبون ASP.Net هم داریم که تحت حمایت میکروسافته و تو همه زبون هایی که .NET رو ساپورت میکنن قابل اجراست.
اما با همه اینها، انتخاب با خودتونه. اگه این کار مال شماست، یعنی قراره نیازهای شمارو رفع کنه، پس خودتونم باید بگید PHP برای کارتون مناسب تره یا باید کارتونو رو پلتفرم .NET توسعه بدید؟
تو این مقاله امکانات هر کدوم از این زبون ها رو بررسی می کنیم و مزایاشونو براتون میگم تا راحتتر بتونید تصمیم بگیرید و همونی رو انتخاب کنید که مناسب کارتون باشه.
PHP یه زبون برای پردازش ابرمتن. تو اینترنت بخاطر منحنی یادگیری خوشگلش کلی قلب گرفته. تازه خیلی از توسه دهنده ها هم طرفدارشن.
اجازه بدید قبل از اینکه بخوام فرق این دو تا زبون رو براتون بگم، یه تفاوت مهمشونو اول یادآوری کنم که حتما باید همیشه گوشه ذهنتون باشه، تا بتونید انتخاب خوبی داشته باشید.
نکته اینجاست که PHP یه زبون برنامه نویسیه، اما ASP.NET جزء دسته زبون های برنامه نویسی نیست. C# یا VB.Net زبون هایی هستن که معمولا با ASP.Net استفاده میشن.
حالا قضیه روشنه! پس اصلا نمیشه بین PHP و ASP.NET مقایسه داشته باشیم. چون دومی چارچوب وب ولی اولی یه زبون برنامه نویسیه.
منم قراره درباره مزایا و امکانات این دو تا صحبت کنم، چون میدونید که اینا دو تا چیز متفاوتن.
شاید براتون جالب باشه که بدونید PHP رو 244 میلیون سایت نصب شده. یه چیز دیگه اینکه کاملا رایگانه و با یه سری چارچوب ها جمع شده و در نتیجه توسعه سایت رو خیلی آسون کرده.
بهترین مثال ها وردپرس و فیسبوکن. اینا همه قدرتشونو مدیون PHP هستن.
حالا بیاید ببینیم ASP.Net چی داره که انقد محبوب شده؟
ASP.NET هم یه چارچوب وب و هم یه ابزار برنامه نویسی که میکروسافت توسعش داده و میشه باهاش برای سایت برنامه و صفحه های مختلف ساخت.
قدرت جادویی ASP.Net رو میتونید تو MySpace و PlentyofFish.com ببینید.
همونطور که گفتم، حالا دیگه میدونید که ASP.NET باید با زبون های برنامه نویسی استفاده بشه. بذارید براتون مزایا و معایب استفاده از PHP و ASP.Net رو بشمرم:

  • هزینه ها:

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

  • خرید ویندوز: اگه بخواهید چیزی رو با ASP.Net توسعه بدید حتما باید توی ویندوز توسعه بدید، چون برای کار با ویندوز طراحی شده. البته بیشتر توسعه دهنده ها هم ویندوز دارن و مشکلی نیست. رو سیستم های مک و لینوکس هم میتونید با Mono Project   با ASP.Net کار کنید.
  • میزبانی ویندوز: اگه به عقب برگردیم، میبینیم که میزبانی وب با ویندوز گرون تر از میزبانی لینوکسه. اما الآن وضع فرق می کنه. الآن میتونید راحت از ویندوز استفاده کنید و هزینه ها تقریبا یکیه.
  • محیط توسعه مجتمع یا IDE: بیشترین استفاده ی IDE برای ASP.Net ویژوال استودیوست. میکروسافت اسم نسخه رایگان ویژوال استودیوشو Visual Express گذاشته.

دو تا نکته ساده که باید با توجه به هدفتون از توسعه سایت مد نظر قرار بدید رو در پایین براتون توضیح دادم. کاری به این نداشته باشید که میخواهید PHP رو انتخاب کنید یا ASP.Net. فقط باید بتونید اینا رو تو یکی از گروه های زیر جا بدید:

    • اولین فرم ترکیب با استفاده از PHP، از سیستم عامل لینوکس، سرور مای اس.کیو.ال، سرور آپاچی و PostgreSQL تشکیل شده. اگه این این گروه میخواهید استفاده کنید، خبرهای خوبی براتون دارم. این گروه رایگانن و حتی میتونید مجوزشونوم رایگان گیر بیارید.
    • ترکیب دوم  رایگان نیست. این گروه از آپاچی، مای اس.کیو.ال، PHP، و لینوکس تشکیل شده و یکی از محبوبترین هاست. میتونید بهینه سازی هاشو با سرور لینوکس انجام بدید تا قیمت هاش کمتر بشه.

از نظر هزینه ها و قیمت ها، PHP بهتره.

  • عملکرد:

منظور از توانایی عملکرد برنامه های سایت چیه؟ این توانایی رو با توانایی برقراری ارتباط بین دیتابیس، اسکریپت و سرور میسنجند.
وقتی دارید یه برنامه تحت وب تو PHP کار میذارید، فرم LAMP به خودش میگیره، L برای لینوکس، A برای آپاچی، M برای مای اس.کیو.ال، P برای PHP. این جمع LAMP افزایش کارایی رو تضمین می کنه. شما هم که همینو میخواهید.
دیتابیسی که همراه با ASP.NET استفاده میشه دیتابس مای اس.کیو.ال هست.
سیستم عامل و سیستم فایلی که رو سرور استفاده میشه خیلی رو عملکرد تأثیر داره. در حقیقت، سیستم اجرایی لینوکس و سیستم فایل ext4 در مقایسه با سیستم فایل NTFS و ویندوز عملکرد بالاتری رو نشون میدن.
اینم باید اضافه کنم که یه برنامه PHP رو سیستم عامل لینوکس شانس عملکرد بالاتری نسبت به یه برنامه ASP.Net روی سیستم عامل ویندوز داره.
این نشون میده عملکرد و سرعت پلتفرم بهم وابسته اند. سرعت برقراری ارتباط بین سرور و زمانی که طول می کشه تا مرورگر سایت رو باز کنه بهم وابسته اند و ربطی نداره که از چه زبون برنامه نویسی یا پلتفرمی برای توسعه برنامه تحت وب استفاده می کنید.
خب پس کی سرعت تحت تأثیر قرار میگیره؟
سرعت پلتفرم با سه روش میتونه تست بشه.
اولین باری که متوجه سرعت میشید، وقتیه که سایتتون میخواد با سرور ارتباط برقرار کنه. اینجا ما سرعت پلتفرم رو چک نمی کنیم ولی چیزی که مهمه، سرعت سرورهای دیتابیس بک-انده.
حالا همینکه برنامه تحت وب میخواد با فایل دیتابیس (که تو سیستم فایل قرار داره) ارتباط برقرار کنه، از سرعت سیستم عاملی استفاده می کنه که داره روش کار می کنه.
همونطور که توضیح دادم، ASP.Net یه چارچوبه و فقط تو پلتفرم های برپایه ویندوز میتونه کار کنه، اما PHP میتونه تو همه سیستم های اجرایی کار کنه. یکی از دلیلاشم اینه که منبع بازه.
سرعت و عملکرد، دو تا مزیت سرورهای PHP به شمار میرن، ولی ASP.Net عملکرد ضعیفی نشون داده.
اما موقع کد نویسی و اجرا، PHP و کلا زبان های برنامه نویسی نمیتونن سرعت و کارایی ASP.NET رو داشته باشن.

  • مقیاس پذیری: کدوم بهتره؟

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

  • پشتیبانی:

همونطور که توضیح دادم، PHP یکی از زبون های برنامه نویسیه که رایگان و منبع بازه و جامعه کثیری از توسعه دهنده ها ازش استفاده می کنن.

  • ابزار و ویرایشگرها:

من دیدم بیشتر توسعه دهنده های PHP بیشتر دوست دارن به جای اجرای یک IDE کامل، از ویرایشگرهای متن، مثل VIM و Notepad++ استفاده کنن.
اما میتونید هم از PHP استفاده کنید و هم با IDE کار کنید. اگه اینطوری ترجیح میدید، میتونید از ویرایشگر Eclipse استفاده کنید که رایگان هم هست.
شاید خودتون بدونید که خیلی از IDE ها از  ASP.Net پشتیبانی می کنن، اما با Visual Studioی میکروسافت هم میتونید استفادش کنید. رایگان نیست ولی امکانات خوبی داره و یکی از منعطف ترین IDEهاست.
پس اگه میتونید براش یه مقدار کنار بذارید، ASP.Net بهتره.
سختی یا سادگی یادگرفتنش؟
اگه تازه کار باشید، شاید براتون یکم سخت باشه تا با ASP.Net آشنا بشید، چون با زبان #C برنامه نویسی شده که این زبون از C مشتق شده و همونطور که می دونید، ترجمه ترکیب C سخت و پیچیدست، هرچقدرم که برنامه نویس حرفه ای باشه.
اما یادگرفتن PHP ساده و آسونه، چون فقط با چند خط کد سر و کار دارید.
خب کی برد؟
PHP یا ASP.Net؟
جوابتون چیه؟ نتیجه گیری من میگه PHP. بخاطر امکاناتی که ارائه میده و رایگان بودنش.
شما از چه زبان برنامه نویسی برای توسعه تحت وب استفاده می کنید؟

فعال سازی شده در طراحی سایت php
پنج شنبه, 07 شهریور 1392 12:29

Ajax چگونه کار می کند

در کد نویسی سنتی جاوا اسکریپت, در صورتی که قصد داشته باشد از دیتابیس و یا فایلی بر روی سرور اطلاعات بگیرید, و یا ارسال اطلاعات کاربر به سرور, شما می بایست برای ارسال اطلاعات به دو روش get و post فرم طراحی می نمودید. و کاربر مجبور بود بر روی کلید ارسال کلیک نماید تا اطلاعات ارسال گردد, و منتظر پاسخ سرور باقی می ماند, و سپس صفحه جدید با نتایج لود می شود.

زیرا زمانی که کاربر بر روی کلید ارسال کلیک می نماید صفحه جدید باز می شود, طراحی سایت سنتی مدت زمان بیشتری را از کاربر می گرفت و مورد پسند کاربران نیز نبود. توسط ajax سایت توسط javascript به صورت مستقیم با سرور در ارتباط می باشد, که این کار از طریق آبجکت JavaScript XMLHttpRequest انجام می شود.

با یک درخواست HTTP, صفحه وب سایت می تواند درخواست خود را ارسال نماید, و سپس از وب سرور پاسخ بگیرد, بدون نیاز به بارگذاری مجدد صفحه. کاربر در همان صفحه اول باقی می ماند, و کاربر متوجه این موضوع نخواهد گردید که در پس زمینه برنامه در حال انجام است.

تصویر زیر نحوه عملکرد Ajax را نمایش می دهد:

کاربر درخواستی را انجام می دهد و در پس زمینه فرآیندها انجام می شود و سپس در لایه ای به درخواست کاربر پاسخ داده می شود, که محعمولا توسط ID شناخته می شود, بدون لود کامل صفحه. به عنوان مثال یک لایه با این آی دی:

<div id=”ajaxResponse”></div>

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

 

1. ساخت XMLhttpRequest

مرورگرهای مختلف روش های متفاوتی برای ساخت XMLHttpRequest دارند. اینترنت اکسپلورر از ActiveXObject استفاده می نماید, در صورتی که سایر مرورگرها از XMLHttpRequest که تابع داخلی جاوا اسکریپت می باشد استفاده می نمایند.

برای آنکه این آبجکت ساخته شود و با مرورگرهای مختلف سازگاری کامل داشته باشد می بایست از “try and catch” استفاده نمایید.

function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
catch (e)
{
alert(“Your browser does not support AJAX!”);
return false;
}
}
}

2. ارسال درخواست به سرور

برای ارسال درخواست به سرور, ما از متدهای open() و send() استفاده می نماییم.

متد open() سه آرگومان می پزیرد. ا.ولین آرگومان تعیین می نماید از چه روشی درخواست ارسال می گردد (GET یا POST). دومین آرگومان مکان اسکریپت را برای اجرا مشخص می نماید. سومین آرگومان مشخص می نماید درخواست چگونه می بایست اجرا شود. متد send() درخواست را به سرور ارسال می نماید.

xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);

3. نوشتن اسکریپت سمت سرور

responseText داده هایی که از سرور پاسخ داده می شود را نگهداری می نماید. در اینجا ما می خواهیم زمان حال را نمایش دهیم. کد سایت “time.php” چیزی است شبیه به این:

<%
response.expires=-1
response.write(time)
%>

4. استفاده از پاسخ

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

xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);
}

5. کامل کردن کد

و شما می بایست تصمیم بگیرید چه زمانی AJAX اجرا می شود. در این مثال AJAX اجرا خواهید شد زمانی که کاربر در باکس متن تایپ می نماید. مثال در کد پایین می باشد:

<html>
<body>

<script type=”text/javascript”>
function ajaxFunction()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
catch (e)
{
alert(“Your browser does not support AJAX!”);
return false;
}
}
}
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText;
}
}
xmlHttp.open(“GET”,”time.asp”,true);
xmlHttp.send(null);
}
</script>
<form name=”myForm”>
Name: <input type=”text”
onkeyup=”ajaxFunction();” name=”username” />
Time: <input type=”text” name=”time” />
</form>
</body>
</html>

فعال سازی شده در طراحی سایت ajax
طراحی سایت دارکوب | هاست دارکوب | دارکوب نام و علامت تجاری ثبت شده این مجموعه می باشد.
دارای مجوز از (سازمان نظام صنفی رایانه ای استان تهران) ، (رتبه 4 شورای عالی انفورماتیک کشور) ، (وزارت فرهنگ و ارشاد اسلامی)
آموزشگاه طراحی سایت و سئو با مجوز رسمی از سازمان فنی و حرفه ای کشور افتتاح شد
دارکوب به عنوان شرکت خلاق توسط معاونت علمی و فناوری ریاست جمهوری برگزیده شد