help

راهنماي سوالات متداول نوآموزان و کاربران


يادگيري برنامه نويسي وب چه فايده اي دارد؟

يادگيري هر زبان برنامه نويسي با هدف رفع نيازهاي مرتبط با آن زبان انجام مي شود، به طور مثال اگر بخواهيم براي گوشي هوشمند خود اپليکيشن اختصاصي طراحي کنيم ناگزير بايد زبان برنامه نويسي متناسب با پلتفرم گوشي مانند Android را فرا بگيريم چون تنها با اين زبان است که مي توانيم ايده ذهني خود را به زبان ماشین تبديل کنيم، در خصوص وب هم وضع به همين صورت است، هرگونه امکاني که در مرورگرها قابل نمايش يا مرتبط با سرور باشد به نحوي به زبان هاي برنامه نويسي وب مرتبط است که اين خود طيف وسيعي از امکانات را شامل مي شود، به طور مثال اتوماسيون هاي اداري تحت شبکه، سيستم هاي آنلاين رزرو بليط، فروشگاه هاي خريد آنلاين، بازي هاي آنلاين يا آفلاين مبتني بر مرورگر، سايت ها، وبلاگ ها، شبکه هاي اجتماعي و... حتي اغلب برنامه ها و بازي هاي تلفن همراه در بخش سرور نياز به آشنايي با برنامه نويسي وب دارند.

براي برنامه نويس وب شدن از کجا شروع کنيم؟

براي برنامه نويس وب شدن بايد قبل از هر چيز مباني وب را بشناسيم، در خصوص واژه هايي مانند اينترنت، مرورگر، سرور، آدرس URL، سايت، وبلاگ و کدنويسي HTML اطلاعات اوليه داشته باشيم، در گام دوم بايد سه دسته از زبان هاي برنامه نويسي را ياد بگيريم، زبان هاي سمت کاربر (براي شروع HTML)، زبان هاي سمت سرور (مانند زبان برنامه نويسي PHP) و زبان هاي بينابيني (مانند Ajax).

چرا در وب سه دسته زبان برنامه نويسي بايد ياد بگيريم؟

ساختار وب به نحوي است که از دو بخش سمت کاربر و سمت سرور تشکيل شده است يعني اطلاعاتي که ما به دنبال آنها هستيم معمولا در جايي دور از ما بر روي سرورها قرار دارند و پس از ارسال درخواست از طريق مرورگر نتيجه از سرور دريافت و در صفحه مرورگر نمايش داده مي شود، لذا براي مديريت اين دو قسمت به مرور سه طيف مختلف (سمت کاربر، سمت سرور و بينابيني) اما مرتبط از زبان ها شکل گرفته و توسعه داده شده تا به وضعيت فعلي برسيم.

در وب چه زبان هاي برنامه نويسي را بايد ياد بگيريم؟

اين زبان ها در سمت کاربر شامل موارد زير است که بهتر است به ترتيب ياد گرفته شوند:
- HTML، زبان پايه کدنويسي وب است و تقريبا هر آنچه که در مرورگرها مي بينيم در نهايت بايد با قوانين اين زبان نوشته شده باشند، شايد بپرسيم ما که در مرورگرها چيزي جزء متن، تصوير و... نمي بينيم پس زبان HTML کجا استفاده شده است؟! در پاسخ به اين سوال کافي است در صفحه وب کليک راست کرده و گزينه ي View HTML Source یا View Page Source را انتخاب نمائيم، خواهيم ديد که در پشت صفحات ساده اي که در حال مرور آنها هستيم مجموعه اي از کدهاي برنامه نويسي قابل روئيت است که اين کدها براي مرورگرها قابل تشخيص و پردازش هستند و در نهايت ساختار کلي صفحه را شکل مي دهند، HTML زبان شيرين و ساده اي است و بيشتر شامل يک سري قواعد نشانه گذاري (Markup) مي شود و اصول خيلي پيچيده اي ندارد.
- CSS، در کنار HTML و معمولا پس از فراگيري آن بايد با زبان استايل نويسي ديگري تحت عنوان CSS آشنا شويم، HTML به تنهايي صرفا اسکلت بي جان صفحات وب را ايجاد مي کند، براي دميدن روح به اين اسکلت بي جان بايد از CSS استفاده کنيم، با CSS مي توانيم هرآنچه که به رنگ و فرم مربوط مي شود را در صفحات وب پياده سازي کنيم، يادگيري CSS در مقايسه با HTML کمي زمانبر است و تبحر در آن نيازمند کسب تجربه تدريجي و آزمايش و خطا دارد.
- JavaScript، گفتيم که HTML ساختار ساده اي دارد و نمي توانيم با آن ساز و کارهاي پيچيده اي طراحي کنيم، به فرض نمي توانيم عرض صفحه نمايشگر کاربر را تشخيص داده يا مقادير وارد شده در يک فرم را به صورت پیشرفته اعتبارسنجي کنيم، براي موارد اينچنيني و تقريبا هرآنچه که به قابليت هاي تعاملي در صفحه مرورگر مربوط مي شود نيازمند ورود به دنياي حرفه اي برنامه نويسي جاوا اسکريپت هستيم، جاوا اسکريپت زبان قدرتمندي است که براي ايجاد امکانات سمت کاربر بسيار کاربرد خواهد داشت و علاوه بر وب در بسياري از پلتفرم هاي ديگر نيز استفاده مي شود، براي يادگيري جاوا اسکريپت بايد وارد دنياي هوش منطقي شويم که بسيار شيرين و جذاب است، فراگيري اين زبان اندکي از دو مورد بالا زمانبرتر و پيچيده تر خواهد بود.
پس از فراگيري سه مورد اشاره شده در بالا نوبت به فراگيري زبان هاي سمت سرور زير است:
- PHP، زبان قدرتمند و فراگير براي نوشتن کدهايي است که در سرور قابل اجرا هستند، همان طور که گفتيم پس از ارسال درخواست دريافت محتواي يک صفحه اين درخواست به سرور ميزبان آن صفحه ارسال مي شود و سرور با توجه به برنامه اي که ما برايش تعريف مي کنيم به درخواست کاربر پاسخ خواهد داد که اين برنامه با زبان هاي برنامه نويسي مانند PHP قابل تعريف است، انتخاب PHP اجباري نيست و انتخاب هاي ديگري مانند ASP.NET، Python، Java و... وجود دارد، اما براي کاربردهاي متداول به جهت سادگي و در عين حال قدرتمندي، متن باز (Open-source) بودن، جامعه کاربران فراوان، سهولت استفاده، نصب و راه اندازي ارزان و مطمئن و مواردي از اين دست پيشنهاد ما اين است که حداقل به عنوان پايه کار حتما PHP را ياد بگيريد، بسياري از برنامه هاي معروف مانند وردپرس، جوملا، ديتالايف و... با اين زبان نوشته شده اند، يادگيري PHP در مقايسه با ساير زبان هاي مشابه بسيار شيرين و آسان است و اصول اوليه کار با آن را به سرعت فرا خواهيد گرفت.
- MySQL، يک زبان برنامه نويسي نيست بلکه سيستم مديريت پايگاه داده است که با زبان هاي برنامه نويسي مانند PHP در تعامل است، امروزه اطلاعات رد و بدل شده در برنامه هاي تحت وب عموما بر روي پايگاه داده نگهداري مي شوند و براي دسترسي و مديريت اين پايگاه هاي داده نياز به سيستم هاي خاصي مانند MySQL است، MySQL بيشترين سازگاري را با PHP دارد و مي توانيم با کدنويسي به صورت حساب شده و منظم موارد را در پايگاه داده ذخيره يا از آن استخراج کنيم، در صورت آشنايي با PHP يادگيري استفاده هاي اوليه MySQL بسيار ساده خواهد بود.
و در نهايت زبان بینابینی:
- Ajax، منظور از بينابيني اين است که اين زبان در مرورگر کاربران اجرا مي شود اما درخواست را به سرور ارسال کرده و نتيجه را از سرور دريافت و در صفحه مرورگر پردازش يا نمايش مي دهد، Ajax فناوري نويني است که باعث مي شود بدون نياز به رفرش صفحات وب بتوانيم در پس زمينه اطلاعات را رد و بدل کنيم که در اغلب برنامه ها کاربردي و مورد نياز است، زبان Ajax ترکيبي از JavaScript و XML است و يادگيري آن زمان کمي مي برد.

آيا صرف يادگيري زبان هاي اصلي وب کفايت مي کند؟

برنامه نويسي وب مستقل از ساير مفاهيم دنياي کامپيوتر و برنامه نويسي پلتفرم هاي ديگر نيست، لذا در کنار زبان هاي سمت سرور، سمت کاربر و زبان هاي بينابيني بايد با پروتکل ها، دستورات و استانداردهاي ديگري مانند XML، JSON، HTTP، Regular Expressions، htaccess و مواردي از اين دست آشنا باشيم، اينها مفاهيمي کلي هستند که در ساير پلتفرم ها نيز کاربرد خواهند داشت.

چه سيستم و نرم افزارهايي براي برنامه نويسي وب مورد نياز است؟

خوشبختانه برنامه نويسي وب نياز به سيستم سخت افزاري خيلي خاصي ندارد، با يک سيستم معمولي و صفحه نمايش با ابعاد متوسط نيز مي توانيم کدنويسي وب را شروع کرده و نتيجه را در مرورگر مشاهده کنيم، در مورد نرم افزار نيز اگرچه با برنامه Notepad ساده ويندوز هم مي توانيم کدنويسي کنيم اما در پروژه هاي حرفه اي برنامه هاي پيشرفته و قوي مانند PhpStorm، Notepad++، Dreamweaver، Photoshop، InkScape، IconWorkshop و مواردي از اين دست مورد نياز خواهند بود.

آيا نياز است که حتما آنلاين برنامه ها را اجرا کنيم؟

خير، براي کدنويسي و اجراي برنامه هاي تحت وب هيچ نيازي به اتصال به اينترنت و آنلاين بودن نيست، حتي کدهايي که در سرور اجرا مي شوند نيز با نصب برنامه سرور مجازي در سيستم عامل قابل اجرا هستند، تنها زماني که بخواهيم برنامه ها به صورت آنلاين قابل استفاده باشند بايد آنها را به هارد ديسک سرور منتقل کنيم.

يادگيري برنامه نويسي وب چقدر زمان مي برد؟

پاسخ روشني نمي توانيم به اين سوال بدهيم! بسته به ميزان آشنايي قبلي با دنياي برنامه نويسي، هدف، مدت زمان صرف شده در روز و استعداد و علاقه اين زمان بين افراد مختلف متغير خواهد بود، به فرض اگر بخواهيد برنامه نويسي وب را در حد طراحي يک قالب وب بياموزيد قطعا زمان کمتري نسبت به حالتي که مي خواهيد يک سيستم مديريت محتواي شخصي طراحي کنيد مورد نياز است، به طور معمول براي کسي که مي خواهد صفر تا صد کار را ياد بگيريد و از سطح پايه به سطح پيشرفته برسد شايد زماني در حدود 1 تا 3 سال در صورت کار مداوم و 2 تا 5 سال در صورت کار متناوب مورد نياز است.

آيا برنامه نويسي وب مي تواند درآمدزا باشد؟

در کل بر روي کاغذ مهارت هايي مانند برنامه نويسي وب جزء فرصت هاي مناسب براي کسب درآمد محسوب مي شوند اما در عمل اين موضوع بستگي زيادي به شناخت واقعيت هاي موجود و فرصت ها و محدوديت ها دارد، صرف يادگيري يک زبان برنامه نويسي در صورتي که نتوانيم بازار هدف را شناسايي کرده يا ايده ناب و جديدي داشته باشيم شايد خيلي به کسب درآمد منتهي نشود، از طرفي نگاه افراطي به اين مقوله و اصرار بر کسب درآمد خود مي تواند نتيجه معکوس داشته باشد، در هر صورت مشاغلي مانند برنامه نويس پروژه هاي تحت وب به طور مثال اتوماسيون هاي اداري، طراحي سايت ها در زمينه هاي مختلف، پشتيباني و نگهداري برنامه هاي مديريت سايت، طراحي ريزبرنامه ها و افزونه هاي مستقل يا وابسته به ساير برنامه ها، طراحي قالب هاي وب و مواردي از اين دست جزء دورنماي کاري کسب درآمد از برنامه نويسي وب محسوب مي شود، اما مهمتر از اينها استفاده از اين پتانسيل براي تبديل ايده ذهني به واقعيت عيني است، به طور مثال اگر قصد راه اندازي سرويس آنلاين اشتراک ويدئو را داشته باشيد برنامه نويسي وب مي تواند مهم ترين ابزار شما در اين راه باشد و بيشترين اهميت زبان هاي برنامه نويسي در اين زمينه ها خود را نشان مي دهد، در مجموع فضا و فرصت هاي بزرگي در اين عرصه مهيا است مهم اين است که بتوانيم از اين شرايط استفاده کنيم.

چرا يادگيري زبان هاي وب خيلي پيچيده است؟

اين گفته هم مي تواند درست باشد و هم نه! گفتيم که ساختار وب به نحوي است که از دو بخش سمت کاربر و سرور تشکيل شده است، اين دو بخش به شدت به هم مرتبط هستند و براي فراگيري بايد حتما به صورت سلسله وار و تدريجي طي مسير کنيم، متاسفانه برخي از نوآموزان بدون کوچکترين آشنايي با HTML به سراغ PHP مي روند و مشخص است که در اين شرايط درک بسياري از مفاهيم سخت و پيچيده خواهد بود، از اين حالت بدتر اينکه برخي اصرار دارند مباحث يک زبان برنامه نويسي را پس و پيش ياد بگيرند و به فرض هنوز با مفهوم متغير آشنا نشده به مبحث آرايه ها مي رسند، تمام اين موارد اشتباه است و کاربر را دچار خستگي و سردرگمي مي کند، راه درست اين است که از زبان هاي ساده تر و مقدماتي تر شروع کرده و در هر زبان ترتيب مباحث را از پايه به پيشرفته رعايت کنيم، در اينصورت نتنها سختي کار را حس نمي کنيم بلکه روز به روز تسلطمان نيز بيشتر شده و از توانايي هاي خود لذت خواهيم برد، فرآيند يادگيري زبان هاي برنامه نويسي مثل بالا رفتن و پائين آمدن از قله کوه است، تا جايي بايد خيلي آهسته و پيوسته پيش برويم، زماني که به نقطه تسلط نسبي رسيديم روند يادگيري مباحث جديد بسيار سريع و پر شتاب خواهد شد.


آخرین دیدگاه ها
form زهرا
در:
سلام وقت بخیر من برای وبلاگم کد ماوس رو کپی میکنم طبق دستورهایی که هست ولی شکل ماوس من در وبلاگ تغییر نمیکند ممنون میشم...
۲۰:۰۰:۲۵ ۱۳۹۸/۰۶/۲۳

form نانا
در:
سلام! ممنون از سایت خوبتون.. راستش من توی اتوپلی کردن موزیک مشکل داشتم.. این بخش موزیکمه:
حذف شد
فکر کنم یه ذره قاطی شد.....
۱۶:۵۰:۱۰ ۱۳۹۸/۰۶/۲۱

form Fatemeh
در:
سلام لطفا یکی جواب منو بده میخام ۴۰ تا ایمیل بسازم و با ۴۰ ایمیل عضو یه سایت بشم ولی ارور میده و میگه شما...
۱۵:۵۷:۰۱ ۱۳۹۸/۰۶/۱۶

form احمدی
در:
سلام ببخشید مثال اول که نوشتید بر اساس مسیر فایلی که من دارم به چه شکل میشه؟
http://localhost/up/one_info/personal /one_info_personal_1425.png
در...
۱۴:۵۲:۳۴ ۱۳۹۸/۰۶/۱۰

form sareh
در:
سلام در مورد فرم ها سوال داشتم . اگر من دو فرم مستقل از هم داشته باشم چه طوری میتونم این فرم ها...
۱۴:۰۷:۴۰ ۱۳۹۸/۰۶/۱۰

form مهسا
در:
سلام وقت بخیر من یک فرم طراحی کردم input ها به صورت دو ستونه گذاشتم. میخواستم با زدن تب از input اولی در...
۱۳:۰۱:۴۶ ۱۳۹۸/۰۶/۰۲

form behzad
در:
مرسی خوب بود
۱۲:۱۵:۱۴ ۱۳۹۸/۰۶/۰۲

form zeynab
در:
سلام یه سوال دارم برای اینکه بتونم رنگ رو ذخیره کنم تو جدولم در قسمت پایگاه داده چیکار باید کنم ؟؟ من...
۱۷:۰۶:۳۵ ۱۳۹۸/۰۵/۲۸

form علی
در:
سلام من میخوام تو صفحه html همچین طرحی رو بندازم میشه راهنماییم کنید (به صورت جداگانه یعنی هر کدوم توی یه صفحه) ***** ...
۱۶:۴۶:۳۶ ۱۳۹۸/۰۵/۲۷

form Zeynab
در:
سلام . وقت بخیر . من از کدهای htaccess برای سایت استفاده کردم . روی لوکال هاست مشکلی ندارم اجرا میشن . ...
۲۲:۴۲:۵۴ ۱۳۹۸/۰۵/۲۳

form bahman
در:
عالی
۲۲:۱۵:۵۰ ۱۳۹۸/۰۵/۲۳

form Abbas rahmati
در:
سلام همه چی توی قسمت اینکه اس اس ال چطور کار میکنه درست بود فقط اخرشو درست نگفتید
۱۴:۱۶:۴۰ ۱۳۹۸/۰۵/۲۳

form مهدی فراهانی
در:
در آکولاد if، می خواهم پس از صحت پرداخت کاربر، کاربر به یک صفحه html برای دانلود فایل لینک شود. چه دستوری در حلقه if...
۱۲:۰۸:۳۲ ۱۳۹۸/۰۵/۲۳

form احسایدر
در:
شما از چه روشی برای لینک دادن به قسمت‌های نوشته استفاده کردید که با کلیک کردن چیزی به آدرس نوشته اضافه نمیشه؟
۱۸:۵۷:۰۵ ۱۳۹۸/۰۵/۲۲

form Mahyar
در:
سلام خسته نباشید اگه بخواهیم که یک pop up با کلیک به خارج از کادر pop up یا کلیک به روی دکمه esc...
۱۱:۴۸:۵۶ ۱۳۹۸/۰۵/۱۹