آگهی
help

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


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

يادگيري هر زبان برنامه نويسي با هدف رفع نيازهاي مرتبط با آن زبان انجام مي شود، به طور مثال اگر بخواهيم براي گوشي هوشمند خود اپليکيشن اختصاصي طراحي کنيم ناگزير بايد زبان برنامه نويسي متناسب با پلتفرم گوشي را فرا بگيريم مانند Java برای سیستم عامل 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 نادی
در:
سلام من دارم تو ری اکت از تگ p استفاده میکنم باید چیکار کنم که نقطه رو نچسبونه به اول خط!؟
۱۰:۵۹:۵۴ ۱۳۹۹/۰۱/۱۱

form amir
در:
سلام و ارادت سال نو مبارک ... من یه صفحه دارم که شامل یه سری پست هست و میخوام امکان لایک مطالب پست...
۱۳:۲۲:۲۱ ۱۳۹۹/۰۱/۱۰

form hadis
در:
سلام من تازه کارم میخاستم بدون اون قسمت درباره وبلاگ تعداد سطرها رو بیشتر و هم طرف راست و هم طرف چپ باشه میشه...
۰۴:۵۲:۱۸ ۱۳۹۹/۰۱/۱۰

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

form محمود
در:
سلام. ممنون از راهنمایتان و متشکرم. دوباره مزاحم می شوم.
۱۰:۵۹:۴۷ ۱۳۹۹/۰۱/۰۵

form mahdi
در:
سلام استاد عزیز ، عذر میخوام من سوال زیاد میپرسم ، میخواستم بدونم چه توی css و چه javascript ما ie8 رو در نظر بگیریم...
۱۲:۱۳:۲۸ ۱۳۹۹/۰۱/۰۴

form محمود
در:
سلام و عرض ادب. وقتی روی فایل pdf روی سایتم کلیک می شود ،PDF در همان تب باز می شود ولی من می خام...
۱۱:۵۵:۱۸ ۱۳۹۹/۰۱/۰۴

form mahdi
در:
سلام استاد عزیز ، Bubble یا حباب دقیقا یعنی چی ؟ یعنی گسترده شدن رویداد یک عنصر تا عنصر فرزندش؟
۱۰:۴۱:۵۴ ۱۳۹۹/۰۱/۰۴

form D.A.Y.A.N.A
در:
سلام یه سوال داشتم وقتی که میخوام وب رو تو موتورهای جست و جو قرار بدیم اون که کد به ما...
۱۴:۵۳:۲۶ ۱۳۹۹/۰۱/۰۳

form محمود
در:
سلام و احترام. خیلی عالی بود، بسیار متشکر هستم، تمام.
۱۲:۵۴:۲۳ ۱۳۹۹/۰۱/۰۳

form mimi
در:
سلام. روی میهن بلاگ وبلاگ دارم و قالبش رو خودم تهیه کردم. چند ماهه که قالب وبلاگ همینه. رفرنس کدهای css در یک سایت...
۱۰:۰۲:۱۳ ۱۳۹۹/۰۱/۰۳

form محمود
در:
سلام استاد گرامی قبلن از اینکه سایت بسیار پر بار ، عالی و بدرد بخور دارید به شما تبریک می گویم. من می...
۱۳:۰۸:۲۰ ۱۳۹۹/۰۱/۰۲

form mahdi
در:
سلام استاد ، یه سوالی داشتم ، من باید دونه دونه ایونت ها رو یاد بگیرم ؟ چون خیلیاشون رو دیدم که اصلا الکی هستن...
۲۰:۲۸:۱۴ ۱۳۹۹/۰۱/۰۱

form mahdi
در:
سلام استاد عزیز و گرامی و با معرفت ، سال نو رو تبریک میگم بهت امیدوارم خودت و خانوادت سالم و سلامت و همدل و...
۱۹:۴۶:۴۰ ۱۳۹۸/۱۲/۲۹

form Meysam
در:
با سلام میخواستم وقتی پست وبلاگ باز میشه بجای post130 بیاد عنوان پست تو لینک قرار بگیره یجوری میخوام باشه که وقتی پست تو...
۱۱:۴۲:۴۴ ۱۳۹۸/۱۲/۲۸
آگهی