بکاند دنیای کدهای مخفی از نظر کاربر است؛ شما به عنوان یک کاربر هیچگاه از ترفندهای یک برنامه نویس بکاند مطلع نخواهید شد.
برنامه نویسی بک اند چیست؟
طبق دیکشنری آکسفورد واژه Back به معنای عقب، پشت، ته و ... است. در تعریف برنامهنویسی بکاند می توانیم بگوییم:
برنامهنویسی بکاند آنطرف قضیه است؛ که شما به عنوان یک کاربر آن را نمیبینید. مربوط به کدنویسی و کارهای پشت صحنه یک وبسایت است. با کدنوشتن در سمت بکاند بر روی معماری وبسایت تمرکز میشود.
در واقع هر عمل و اکشنی که در یک وبسایت انجام میدهید به طور مثال ورود به سیستم حساب کاربری یا خرید از یک فروشگاه آنلاین مربوط به قسمت برنامهنویسی بکاند است؛ هیچوقت کاربر این کدها را که سبب انجام این اعمال میشوند نمیبیند.
مهارتهای یک برنامهنویس بکاند
یادگیری یک زبان سمت سرور
برای تبدیل شدن به یک برنامهنویس بکاند لازم است که حداقل یک زبان سمت سرور را یاد بگیرید؛ همچنین مسائل اختصاصی آن زبان را نیز فرا بگیرید. کدهایتان را خوانا، تمیز و با امنیت بالا بنویسید.
در ادامه با زبانهای سمت سرور آشنا خواهیدشد.
دیتابیس
بعد از یادگیری زبان سمت سرور باید یاد بگیرید که بین کدهایی که در سمت بکاند نوشتهاید و دیتابیس ارتباط برقرار کنید؛ در نتیجه میتوانید به سایتتان قدرت عالی بدهید.
تجزیه و تحلیل و حل مسئله
از ملزومات یک برنامهنویس بکاند داشتن ذهنی تحلیلگر است؛ با تمرینات فراوان میتوان به قوه تجزیه و تحلیل بالایی رسید.
خوب سوال پرسیدن
شاید با خود فکر کنید هرچه بخوانید و ویدیو آموزشی ببینید کافی نیست؛ تا وقتی که وارد کار نشوید و از آموزشهایی که دیدهاید استفاده نکنید هیچگاه سوالی برایتان پیش نمیآید.
قطعا تجربه کردن کارها است که مسیر را برای شما هموارتر میکند، پس منتظر چه هستید شروع کنید، خطا کنید و سوال خوب بپرسید تا جواب خوبی دریافت کنید.
تفاوت برنامه نویس Back-End و Front-End
احتمالا تا به حال با نظریه کوه یخ برخورد داشتهاید، نامگذاری این نظریه با توجه به این است که وقتی در حال مشاهده یک کوه یخ هستید فقط 10% آن که از آب بیرون است را میبینید و بخش اعظم آن که زیرآب است را مشاهده نمی کنید.
در این نظریه می گوییم که همیشه ظاهر یک کار دیده میشود و به ندرت پشت صحنه آن کار مشاهده میگردد.
خب حالا این نظریه چه ربطی به تفاوت بکاند وفرانتاند دارد؟
بکاند همان بخش اعظم کوه یخ است که زیرآب قرار دارد و شما به عنوان کاربر هیچوقت کدها، معماری و بخش های ساختاری یک سایت را نمیبینید؛ آنچه شما مشاهده میکنید نتیجه و خروجی کار است.
فرانتاند همان بخش بالایی کوه یخ است که بیرون آب قرار دارد در واقع برنامهنویسی فرانتاند با زبان هایی مثل HTML, CSS, JAVASCRIPT و ... صورت می گیرد و کاربر با فشردن چند کلید خیلی راحت و آسان میتواند به این کدها دسترسی پیدا کند.
در اصل بکاند داده ها را دستهبندی و مرتب میکند و برای فرانتاند میفرستد تا به کاربر نمایش دهد.
مفهوم Client Side و Server Side
برای بهتر فهمیدن اینکه Back-End چیست به سراغ این دو مفهوم میرویم:
Client Side
همانطور که از معنی واژه Client (مشتری) پیداست هرجا که قرار است تعامل با کاربر صورت گیرد از Client Side استفاده میشود؛ در حقیقت کلاینت ساید به این مفهوم است که پردازش در سیستم کاربر (مشتری) صورت میگیرد.
در مجموع به کارهایی که زبانهای سمت کاربر مثل HTML, CSS, JAVASCRIPT و ... انجام میدهد طراحی وب یا Front-End Developer میگویند.
زبان های سمت Client Side
همانطور که قبلا گفتیم HTML یک زبان سمت کلاینت است؛ اما دقت کنید که یک زبان برنامهنویسی نیست! در واقع یک زبان نشانه گذاری ابرمتن است.
اولین موردی که باید در شروع یادگیری برنامهنویسی فرا بگیرید زبان HTML است.
زبان CSS یک زبان طراحی صفحات وب است؛ در حقیقت CSS برای این بهوجود آمد که اطلاعات محتوایی که با زبانی مانند HTML نوشته میشوند را از اطلاعات ظاهری جدا کند. و در نتیجه باعث افزایش سرعت سایت، طراحی چندین صفحه با یک فرمت یکسان و راحتتر کردن کدنویسی شد.
جاوااسکریپت یک زبان برنامهنویسی در وب است که با آن میتوان در کدهای HTML و CSS تغییراتی ایجاد کرد.
برای ایجاد انیمیشن ها و تحرک عناصر در یک صفحهی وب باید از زبان JavaScript کمک گرفت.
مثال: در یک صفحه وب با کمک زبان HTML تصاویری را قرار می دهیم با کمک زبان CSS میتوانیم به آن تصاویر سبکهای متفاوتی بدهیم و در پایان با کمک JavaScript آن تصاویر را به صورت اسلایدر همراه با افکتهای متفاوت نمایش میدهیم.
Server Side
با توجه به واژه Server میتوان فهمید که Server Side مربوط به بخش اصلی یک وب سایت است و برای انجام شدن نیاز به یک سرور دارد.
این بخش به کمک زبانهای سمت سرور مانند Python، PHP، C#، ASP.NET و دیگر زبانها نوشته میشود.
به مجموعه کارهایی که زبانهای سمت سرور انجام میدهند، برنامهنویسی بکاند یا Back-End Developer میگویند.
زبان های سمت Server Side
PHP:
زبانهای سمت سرور به این معناست که کدهای PHP اول توسط سرور پردازش میشوند و در نهایت خروجی این کدها به صورت کدهای HTML و JavaScript به مرورگر سمت کاربر ارسال میشوند.
پی اچ پی یک زبان Open Source است و برای طراحی برنامههای تحت وب به کار میرود.
Python:
یک زبان برنامهنویسی سطح بالا برای برنامهنویسی عمومی است. سادگی و آسانی زبان پایتون سبب شده که اولین انتخاب بسیاری از برنامهنویسان باشد.
آموزش رایگان مقدماتی تا پیشرفته پایتون
C#:
سیشارپ یک زبان برنامهنویسی دستوری، تابعی، عمومی و شی گرا است؛ که توسط شرکت مایکروسافت ایجاد شد. با وجود این پشتیبان قوی چه در زمان حال و چه در آینده همچنان جزو مدعیان است.
ASP.NET:
یک پلت فرم متن باز و رایگان است که توسط مایکروسافت ارائه شده است. زبان سیشارپ از همین پلت فرم به وجود آمد.
شما میتوانید با استفاده از CSS، HTML و JavaScript در قسمت Client و با زبان های C#، F# در قسمت Server یک ASP.NET بنویسید.
نکته مهم اینکه ASP.NET یک زبان برنامهنویسی نیست؛ بلکه یک پلت فرم توسعه وب است که برای ساخت وبسایت ها و وباپلیکیشن ها به کار میرود.
نقشه مسیر یادگیری بکاند
اگر تا اینجا تصمیم گرفتهاید که یک برنامهنویس بکاند شوید پس این قسمت را با دقت بخوانید.
دقیقا مثل نقشه پیداکردن گنج وقت آن رسیده که شما هم نقشهای برای یادگیری برنامهنویسی بکاند برای خود طراحی کنید.
در ایتدای راه باید خوب با این مدل برنامهنویسی آشنا شده باشید؛ شما قرار است روی بخش اصلی و معماری سایت کار کنید پس باید بتوانید کدهای مرتب و سریعی بنویسید و همچنین باید مهارت کافی برای پیداکردن خطاهای کدهای خود را داشته باشید و بتوانید آنها را رفع کنید.
در قدم بعدی سراغ شناخت دیتابیس بروید؛ دیتابیسها به دو دسته رابطهای و غیررابطهای طبقهبندی میشوند که هرکدام انواع متفاوتی دارند.
در ادامه پس از اینکه با روند کار آشنا شدید شروع به نوشتن پروژههای کوتاه کنید و در ادامه سعی کنید پروژههای سختتر و پیچیدهتری را کدنویسی کنید تا تجربههای زیادی در این مسیر بدست بیاورید؛ قطعا این تجربههاست که به شما کمک خواهدکرد.
حقوق برنامه نویس بکاند
دنیای برنامهنویسی در عین سخت و پیچیده بودن جذابیتهای خودش را دارد؛ شاید در ابتدای راه خسته شوید و بخواهید پا پس بکشید اما کمی که پیشتر بروید رهاکردن آن سخت میشود.
داشتن مدرک دانشگاهی در این حوزه چندان بااهمیت نیست؛ بیشتر اعتبار و توانایی شما است که برای یک مدیر پروژه اهمیت دارد.
شما میتوانید با کارآموزی برای خود رزومه قوی بسازید یا اینکه میتوانید خودتان سایت هایی را طراحی کنید و از آنها به عنوان رزومه استفاده کنید.
حقوق کارمندی در برنامهنویسی بکاند با توجه به زبانی که در آن تخصص دارید متفاوت است. طبق آخرین آگاهی کاریابی در سایت jobinja.ir بیشینه حقوق 24 میلیون تومان است.
علاوه بر اینها شما میتوانید به صورت فریلنسری کار کنید که این مدل هم مزیتهای خودش را دارد.
جمع بندی
دنیای بکاند دنیایی پشت پردهها است که هیچگاه یک مشتری یا کاربر آن را نمیبیند یک Back-End Developer همیشه در حال کدنویسی برای سایتهای خود است و در عین حال همیشه حواسش به ضعفها و اشکالات کدهایش نیز میباشد. شما میتونی به صورت رایگان برنامه نویسی رو از وبسایت کدیاد یاد بگیرید.
بکاند دنیایی پیچیده و سخت است اما قطعا با تمرین و تمرین میتوانید آن را برای خودتان آسانتر کنید.