مرداد ۱۸, ۱۳۹۹

نکاتی در برنامه نویسی که تمامی توسعه‌دهندگان وب باید بدانند.

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

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

(HyperText Markup Language Version 5 (HTML5

یه پیشرفت دهنده، از زبون اچ تی ام ال واسه خلق صفحات وب استفاده می کنه. با اینکه خیلی از افراد HTML (زبون نشونه گذاری ابر متن) رو یه زبون برنامه نویسی نمی دانند، اما یاد گرفتن همه کدهای دستوری و تگ های اون خیلی با اهمیته.

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

به کار گیری همه مهارتای برنامه نویسی وب لازمه یادگیری HTMLه.

(Cascading Style Sheets Level 3(CSS3

بعد از نوشتن یه صفحه وب با به کار گیری HTML، نوبت به به کار گیری سی اس اس می رسد. پیشرفت دهندگان وب از CSS واسه اعمال ویژگی های چشمی و بهبود ظاهر صفحات استفاده می کنن. یه صفحه نوشته شده با به کار گیری HTML و بدون کدهای CSS، مثل ساختمانیه که به جز آجر و یا آهن به کار رفته در اون، هیچی دیگه ای (مثل پنجره، نما و دیگر موارد) دیده نمی شه، هر چند پی ریزی خوب و قوی داشته باشه. تصویر زیر کاربرد CSS رو خوب نشون می دهد.

جدیدترین نسخه CSS با عنوان CSS3 شناخته شده و به خاطر اضافه شدن توانایی های فراوون ساخت انیمیشن و اجسام متحرک در اون، نیاز به به کار گیری جاوااسکریپ خیلی کاهش پیدا کرده.

به عنوان یکی دیگه از ویژگی های CSS3 باید به Flexbox اشاره کرد که یه مدل طرح بندی محتوا حساب می شه. هدف Flexbox چیدمان و ترازبندی آسون آیتم های درون یه ظرف با اندازه های نامشخصه. یعنی، Flexbox واسه طرح بندی پویا و انعطاف پذیر آیتم ها خلق شده.

(JavaScript (JS

بر خلاف HTML  و CSS، جاوااسکریپت به طور کامل یه زبون برنامه نویسیه که تعامل با صفحات وب رو ممکن می کنه. HTML در واقع مشخص می کنه که یه صفحه وب چه چیزایی رو داشته باشه و مکان هر قسمت رو مشخص می کنه و CSS به این فضاهای تخصیص داده شده، شکل و شمایل قشنگتر می بخشه، اما این JavaScriptه که به هر صفحه می گوید چیجوری رفتار کنه. بدون به کار گیری JavaScript، صفحات وب ایستا و بدون تغییر باقی خواهند موند.

یه صفحه وب بدون کد خط های JavaScript، تنها می تونه محتوا و فایل های چند رسانه ای رو نمایش دهد و امکات “تعامل اون با کاربر” وجود نداره. کاربر تنها می تونه محتوای صفحه رو تماشا کنه. JavaScript رو باید آخرین مورد در بین مهارتای برنامه نویسی واسه ایجاد فرانت ان (Front-End) دونست. جالبه بدونین Front-End به بخشی گفته می شه که کاربر اون رو مشاهده کرده و با اون تعامل داره. مابقی بخش ها به بک ان (Back-End) تعلق داشته و قسمت هایی هستن که دور از چشم کاربر، اعمال جور واجور رو پیش می برند.

(Asynchronous JavaScript and XML (Ajax

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

PHP Hypertext Processor

پی اچ پی مثل JavaScript یه زبون برنامه نویسیه، فرقش اینه که واسه ایجاد Back-End کاربرد داشته و پیشرفت دهندگان وب از اون واسه ایجاد صفحات پویا روی یه سرور استفاده می کنن. سرور یه برنامه مشخص رو اجرا کرده و نتیجه رو به مرورگر ارسال می کنه. یعنی، وقتی شما با یه سایت تعامل دارین، رابطه شما با JavaScriptه. JavaScript اطلاعات گرفته شده از کاربر رو به سرور ارسال می کنه تا در اونجا یه برنامه نوشته شده از طریق PHP، اون ها رو بررسی کرده و بعد بازگرداند.

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

(Structured Query Language (SQL

اس کیو ال در واقع نام یه خونواده از زبون ها هستش که همه با پایگاه داده در رابطه هستن. پایه یه سایت، اطلاعات اون هستش و همه این اطلاعات در دیتابیس یا همون پایگاه داده ذخیره می شن. MySQL رو باید یکی از نسخه های مهم و پرکاربرد از این خونواده دونست، چون که متن باز بوده و در شرایط متوسط بسیار خوب عمل می کنه.

(Version Control Systems (VCS

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

Git رو باید پرکاربردترین نرم افزار واسه Version Control دونست. سایت GitHub یکی از محبوب ترین مکان ها در اینترنت واسه پیشرفت دهندگانه که در اونجا به مقایسه و بحث دور و بر کدهای خود می پردازند. بهتره تا با معنی این وسیله آشنا شده و به جمع یکی از بزرگترین محافلی که پیشرفت دهندگان در اونجا ایده های خود رو رد و بدل کردن می کنن، ملحق شید.

Agile Methodology

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

در مقایسه با روش پیشرفت پی به دنبال، در روش Agile بیشتر تماشاگر تکرار و تکامل هستیم. یعنی، در پیشرفت پی به دنبال بعضی مسیرها به انتها می رسند، اما در روش Agile به عنوان یکی از مهمترین مهارتای برنامه نویسی وب، مراحل دوره ای و تکاملی بیشتری دیده می شن. پرکاربردترین روش Agile رو باید فریم ورک SCRUM دونست. اگه کاربری به یادگیری مهارتای برنامه نویسی وب پیشرفته و مدرن اصرار داره، باید دست کم در حد مقدماتی، با این سبک از پیشرفت آشنایی داشته باشه.

منبع :جامعه مهندسان ایران