برنامهنویسی و طراحی سایت، مقولههایی بسیار جذاب و البته پیچیده هستند که بسیاری از مردم، نسبت به جزئیات آن اطلاعات خاصی ندارند. اصطلاحات بسیار زیادی درباره بخشهای مختلف یک برنامه و یا سایت وجود دارند که در ادامه از این مقاله ویرا، قصد بررسی یکی از آنها را داریم.
تایید شده توسط متخصصین بخش طراحی سایت ویرا
برنامه نویسی بک اند چیست؟
برنامهنویسی برای یک سایت یا نرم افزار، به دو بخش اصلی تقسیم میشود و از دو زاویه میتوان آن را بررسی نمود؛ بک اند (back end) و فرانت اند (front end). بک اند به بخش ظاهرا مخفی سایت گفته میشود که در آن برنامهنویسان و طراحان سایت، کدهای مربوطه و مورد نظر برای فعالیت یک سایت را نوشته و به وسیله آن، دستورات مورد نظر را به برنامه یا سایت، گوشزد میکنند.
میتوان فرانت اند را به نوعی لایه رویین و پوسته یک سایت در نظر گرفت و بک اند را، مغز متفکر سایت دانست. تمامی نرمافزارها و سایتها از این دو بخش تشکیل میشوند و نمیتوان این دو بخش را مانند یکدیگر دانست. کاربران و مراجعین سایتها به هیچ عنوان به صورت مستقیم با بک اند در ارتباط نخواهند بود و تمامی فعالیت آنها از منظر بصری و یا عملکرد کلی، به بخش فرانت اند معطوف میشود.
تفاوت بک اند و فرانت اند چیست؟
برای پاسخ به این سوال که بک اند چیست ابتدا باید خط دقیقی که میان بک اند و برنامه نویسی فرانت اند کشیده شده را بررسی کرده و توضیح دهیم. همانطور که در بخشهای قبلی گفته شد، بک اند و فرانت اند مانند یک لایه بیرونی و مغز داستان هستند. وظیفه فرانت اند، طراحی لایه رویی خواهد بود و بک اند درست به مانند هسته اصلی سیستم، فعالیت میکند. تمامی کدهایی که مسئولین و برنامهنویسان در بخش فرانت مینویسند، توسط کاربران دیده شده و آنها به شکلی مستقیم با این کدها در ارتباط هستند.
در سمت دیگر، برنامهنویسانی که در بخش بک اند فعالیت دارند، وظیفه دارند تا نحوه عملکرد یک سایت یا یک نرم افزار را تعریف کرده و بخش ظاهری را به عهده برنامهنویسان فرانت اند بگذارند.
این تفاوتها در دو بخش، سبب شده تا بسیاری از افراد به صورت تخصصی در یک بخش فعالیت کنند و سعی داشته باشند تا تمرکز خود را صرفا در یک بخش پیادهسازی کنند.
امروز یکم بیشتر مطالعه کن : طراحی سایت با پایتون
server side یعنی چه؟
همانطور که در بخشهای قبلی به این نکته اشاره کردیم، کدهای نوشته شده در بخش بک اند به صورت مستقیم با مراجعین سایت در ارتباط نخواهند بود و به همین دلیل، به برنامهنویسی بک اند server side یا برنامه نویسی سمت سرور نیز گفته میشود. استفاده از اصطلاح سمت سرور سبب میشود تا برخی از مولفههای خاصی را از برنامهنویس انتظار داشته باشیم.
ویژگی های server side
سه ویژگی اصلی در برنامه نویسی سرور ساید وجود دارد که در ادامه به بررسی آنها خواهیم پرداخت.
- این زبانها درکی از مرورگر ندارند و به همین شکل در دسترس کاربران نیز قرار ندارند.
- وظیفه مرورگر مطالعه کدها نیست و مرورگر صرفا باید کدها را به نمایش بگذارد.
- اگر نیاز به زبانی پویا داریم که به واسطه آن، سایتی زنده و پر از فعالیت را بسازیم، بهتر است تا از زبانهای سمت سرور استفاده کرده و به وسیله آن، سایت خود را پر از فعالیت کنیم.
client side یعنی چه؟
در هر بخشی از سایت که نیاز به تعامل با مخاطبین و مراجعهکنندگان داشته باشیم، از اصطلاح client side استفاده میکنیم. کلاینت ساید سبب میشود تا فعالیت یک سایت کم شده و درست بر خلاف شیوههای قدیمی، خوانش برخی از کدها و پردازش آنها را به مرورگر مشتریان واگذار کنیم.
در این روش سیستمها و سرورهای پشتیبانی کننده میتوانند به راحتی هر چه تمامتر، دیگر بخشهای سایت را پردازش کرده و بار سنگینی را از روی دوش خود بردارند. به دلیل وجود قابلیت client side مرورگرهای امروزی بسیار سنگینتر از گذشته شده و داده بسیار بیشتری را نسبت به قدیم در خود ذخیره میکنند.
ویژگی های client side
برنامه نویسی کاربر محور، به گونهای است که در آن دیگر نیازی به ارتباط گیری با سرور نخواهد بود و کاربران مختلف، با استفاده از دادههایی که در سیستمهای مختلف قرار دارد، اقدام به بارگذاری اطلاعات خواهند کرد. این روش سبب افزایش سرعت سایتها در پردازش اطلاعات شده و آنها را سریعتر در اختیار کاربران قرار میدهد.
امروز یکم بیشتر مطالعه کن : طراحی سایت با adobe xd
برنامه نویس بک اند چه ویژگی هایی دارد؟
تا به اینجا درباره بخشهای مختلف برنامهنویسی بک اند صحبت کرده و نکات مختلف آن را با یکدیگر مقایسه نمودیم؛ اما سوال اینجا است که فرد برنامهنویس و کسی که مسئولیت بک اند را بر عهده دارد، باید چه ویژگیهایی داشته و بر چه اصولی مسلط باشد؟
در ابتدا بهتر است بگوییم تمامی برنامهنویسان بک اند باید پاسخی درست و جامع نسبت به سوال بک اند چیست داشته و اطلاعات کاملی نسبت به ماهیت فعالیت خود داشته باشند. آموزش بک اند امر سختی نیست اما بهتر است افرادی که به سمت این حرفه میروند، ذهنی برنامهریزی شده داشته باشند تا بتوانند به راحتی کدهایی مرتبط را نوشته و در مرحله اجرای آن نیز، افراد دیگر را درگیر مشکلات مختلف نکنند.
اگر قصد دارید تا برنامه نویسی بک اند را به صورت جدی دنبال کرده و فوت و فن آن را یاد بگیرید، ابتدا بهتر است تا حال و هوا و سلیقه شحصی خود را محک زده و ببینید که آیا این بستر، بستر مناسبی برای کار شما خواهد بود یا خیر.
وظایف برنامه نویس بک اند چیست؟
اگر بعد از بررسی روحیات خود، تصمیم نهایی را گرفته و وارد دنیای بک اند گشتید، باید در قدم بعدی تمامی وظایف و نکات مهم یک برنامهنویس بک اند را مطالعه کرده و در زمینه عمل کردن به آنها، فعالیت نمایید.
اولین وظیفه یک برنامهنویس بک اند، نوشتن کدهایی خواهد بود که هیچگاه دیده نمیشوند. این کدها صرفا توسط دستگاههای الکترونیک خوانده شده و به مانند دستورالعملهایی خشک و مقرراتی به این دستگاهها، دیکته میشوند. حال وظیفه یک برنامه نویس بک اند، این است که این کدها را به بهترین شکل ممکن نوشته و در عین حال که به عملکرد کلی سایت فکر میکند، درباره مرتب بودن و خوانا بودن کدها نیز احساس مسئولیت نماید.
خوانا بودن کدها سبب میشود تا در آینده، برنامهنویسها بتوانند به راحتی پروژه قبلی را اصلاح کرده و آن را به مراحل بالاتری هدایت کنند. هرچند که این مسئله به صورت دقیق در میان وظایف یک برنامهنویس ذکر نشده، اما رعایت آن نشان از حرفهای بودن شما خواهد بود.
امروز یکم بیشتر مطالعه کن : طراحی سایت با جاوا اسکریپت
مهارت های برنامه نویس بک اند چیست؟
یک برنامهنویس باید مهارتهای متعدد مورد نیاز برای یک متخصص نرم افزار را داشته و علاوه بر آن، اطلاعاتی بیشتر را نیز کسب نماید. آشنایی با انواع زبان های برنامه نویسی مانند html، php، sql، phyton و غیره تنها یکی از مهارتهای مورد نیاز شما خواهد بود.
علاوه بر زبانهای برنامهنویسی، شما باید نسبت به زبان تخصصی و اصطلاحات برنامه نویسی در زبان انگلیسی نیز اطلاعات کاملی را به دست آورده و به تمامی آنها، مسلط باشید. بر خلاف تصور عموم، برنامهنویسی امری ریاضی نخواهد بود و شما برای نوشتن کدهایی کارآمد و موثر، به خلاقیت بالایی نیز نیاز خواهید داشت. در نتیجه یک برنامهنویس خلاق میتواند از یک برنامهنویس مقرراتی و خشک موفقتر ظاهر شده و آثار بهتری را از خود بر جای بگذارد.
پیش نیازهای برنامه نویس بک اند چیست؟
اطلاعات و دانشهای بسیار زیادی وجود دارند که شما برای دستیابی به مراحل بالاتر در برنامهنویسی بک اند، به دانستن آنها نیاز خواهید داشت. این پیش نیازها را میتوان به بخشهای بسیار متفاوتی تقسیم نمود که در ادامه به بررسی سه مورد از آنها میپردازیم.
- شما باید سروری داشته باشید تا برای نوشتن کدها به آن متصل شده و به کمک این سرور، کدهای خود را ثبت نمایید. سرور پیش نیازی اصلی برای برنامه نویسی سایت و نرم افزار محسوب میشود.
- دیتابیس یا پایگاه داده نیز یکی دیگر از مواردی است که هر برنامهنویس و هر متخصص بک اند باید آن را در اختیار داشته باشد. افرادی که آموزش بک اند دیده و میدانند که بک اند چیست، به خوبی نسبت به اهمیت دیتابیس آگاه بوده و از آن در مراحل مختلف فعالیت خود استفاده میکنند.
- تسلط داشتن به یک یا چند زبان برنامهنویسی سمت سرور نیز یکی از پیش نیازهای اصلی در این زمینه محسوب میشود.
زبان های مورد نیاز برنامه نویسی بک اند چیست؟
بعد از آن که توانستیم به سوال (برنامهنویسی بک اند چیست؟) پاسخ درستی را بدهیم، باید سوالی دیگر را مطرح کنیم. در این سوال باید زبانهای مختلفی که در برنامه نویسی بک اند به ما کمک میکنند را مشخص کرده و سعی کنیم تا هر کدام از این زبانها را به صورت جداگانه یاد بگیریم.
زبانهای سی شارپ، پایتون، پی اچ پی و جاوا از اصلیترین زبانهایی هستند که به جرئت میتوان گفت تمامی بک اند کارها نسبت به آنها تسلطی نسبی دارند.
زبانهای دیگری نیز وجود دارند که مطالعه آنها میتواند برای ما بسیار کارساز بوده و کمک شایانی را به ما عرضه کند. هرچند که یادگیری این زبانها در حیطه دستوری فعالیتها و وظایف یک برنامهنویس بک اند قرار ندارد، اما دانستن آنها فعالیت و کار حرفهای ما را تا حد بسیار زیادی بهبود میبخشد.
12 پاسخ
برنامه نویسی فرانت اند بهتر هستش از لحاظ مالی و بازار کار یا برنامه نویسسی بک اند ؟
هر دو بازارکار خوبی دارند. از لحاظ مالی هم یک مقداری برنامه نویسی بک اند بیشتر هست.
در اول کار طراحی سایت ، برنامه نویسی فرانت اند اول بایستی کار کند یا بک اند ؟
سلام. بستگی به نوع پروژه دارد. در پروژه های کوچک اکثرا فرانت و بک اند باهم پیش می روند. اما در پروژه های پیجیده تر، ابتدا سمت بک اند را پیاده سازی می کنند و سپس سراغ فرانت اند می روند.
خیلی ریز و پر از نکات خوبی اشاره کردین و ممنون از سایت خوبتون که از پایه توضیح دادین
خوشحالیم که مقاله براتون مفید بوده
فکر کنم بک اند سخت تر از فرانت اند هستند چون مفهومش که ساده تعریف کردین برام خیلی گنگ اومد
بله برنامه نویسی بک اند پیچیدگی های بیشتری نسبت به زبان برنامه نویسی فرانت اند دارد.
با توجه به توضیحاتتون راحت میشه انتخاب کرد تا کدوم تخصص رو انتخاب کنیم و به کارآموزی و یا آموزش ها رو ببینیم مرسی
بله با توجه به روحیه خودتون باید انتخاب کنید
بک اند واقعا جزوه برنامه نویسی های سخت شامل میشه و نمیشه در مدت زمان کمتری یاد گرفت و با اینکه توضیحاتتون راحت به نظر میرسه
بله واقعا برنامه نویسی بک اند نیاز به زمان و انرژی بیشتری دارد.