راهنمای جامع معرفی و نصب اندروید استودیو

 

اندروید استودیو یک IDE رسمی برای ساخت و توسعه اپلیکیشن برای پلتفرم اندروید هست که برای اولین بار در سال 2013 به عنوان جایگزین اکلیپس معرفی شد.
این IDE انتخاب اول تقریبا تموم توسعه‌دهندگان اپلیکیشن‌های اندرویدی هستش و تقریبا هر وقت نیاز به یک اپلیکیشن بومی اندروید حس می‌شه، اندروید استودیو پیشتازه. خب، در هر صورت، بیایم با هم مزایای اندروید استودیو رو بررسی کنیم:

 

مزایای اندروید استودیو 

1. کدنویسی سریع 

اجرای فوری: هر تغییر در کد رو در آنی از واحد اعمال می‌کنه بدون اینکه نیاز داشته باشید اپلیکیشنتون رو دوباره راه‌اندازی کنید و یا اون‌رو مورد بازسازی (Rebuild) قرار بدید. این موجب سریع‌تر شدن فرآیند ساخت اپلیکیشنتون می‌شه.

 

ویرایشگر کد هوشمند: با این امکان، توسعه‌ی اپلیکیشن خیلی سریع‌تر می‌شه. وقتی دارید کدتون رو می‌نویسید، ویرایشگر با توجه به تحلیل و بررسی کدتون به شما لیستی از پیشنهادات پیشرفته‌ای ارائه می‌ده. تنها با فشردن کلید Tab می‌تونید هر کدومشون رو که می‌خواید سریعا توی کدتون وارد کنید!

 

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

 

2. حس اطمینان از کدنویسی 

قالب‌ و نمونه‌های اپلیکیشن‌ها: تعداد زیادی قالب و نمونه از اپلیکیشن همراه با IDE فراهم شده که می‌تونه به عنوان مرجع استفاده بشه و حتی می‌تونید بخشی از کدتون رو از اونا بردارید! پس اگه قراره یه اپلیکیشن بسازید این قالب‌ها و نمونه‌ها خیلی کمکتون می‌کنن.

 

Lintelligence: این قابلیت به شما کمک می‌کنه خیلی از مشکلات اجرایی، امنیتی و یا صحیح بودن کد رو با یک پیدا کنید. حدود 280 Lint check وجود داره که می‌تونه به شما کمک کنه یک اپلیکیشن بی‌نقص بنویسید.

 

3. ایجاد ساخت (Build) بدون محدودیت

سیستم ساخت‌های بسیار مناسب: این سیستم برای راحتی کاربران، بسیار منعطف طراحی شده. IDE همینطور، به شما سیستم مدیریت وابستگی اتوماسیون و پیکربندی ساخت‌های قابل تنظیم رو نیز ارائه می‌ده. کد‌های اندروید می‌تونن به منظور در بر گرفتن کتابخانه‌ها وساخت‌های محلی به کار گرفته بشن. این مسئله می‌تونه ساخت اپ‌‌های رو راحت‌تر کنه.

 

استفاده‌ی آسان برای تیم‌های توسعه‌: شما می‌تونید ابزار‌هایی از قبیل GitHub رو وارد محیط IDE کنید. همچنین می‌تونید همواره اطلاعات رو با تیمتون همگام‌سازی کنید. در واقع این سیستم به توسعه‌دهندگان اجازه می‌ده که یک محیط برای خودشون توی فضای IDE ایجاد کنن.

 

بهینه‌سازی برای تمامی دستگاه‌های اندرویدی: IDE برای همه‌ی انواع دستگاه‌ها بهینه‌سازی شده. همچنین رویکرد ساختاریافته‌ی موجود در IDE به شما این امکان رو می‌ده که برای یک طراحی به خصوص، کد منحصر به فرد خودش رو طراحی کنید.

Androind Studio-20

 

4. اپلیکیشن‌های غنی و متصل

پشتیبانی از C++ و NDK: درست مثل هر زبون برنامه‌نویسی دیگه‌ای، اینجا هم توسعه‌ی C/C++ پشتیبانی می‌شه. توی این محیط حتی این امکان هستش که بتونید سینتکس‌های مربوط به C/C++ رو بررسی و یا بازنویسی (Refactor) کنید. حتی این قابلیت وجود داره که بتونید CMake و اسکریپت‌های مبتنی بر NDK رو بدون ایجاد هیچ تغییری توی IDE اجرا کنید.

 

وجود سیستم Firebase و Cloud به صورت ادغام‌شده: این IDE یک دستیار Firebase هم داره. این دستیار به شما کمک می‌کنه Firebase رو به اپلیکیشن متصل کنید. به وسیله‌ی اون می‌تونید قابلیت‌هایی مثل احراز هویت و نوتیفیکیشن رو داخل محیط بررسی کنید. هم‌چنین با Google Cloud هم ادغام شده که در مجموع یک روش کامل برای ساختن اپلیکیشن فراهم می‌کنه.

 

5. راحتی استفاده

ویرایشگر چیدمان (Layout): برای زمانی که در XML مشغول به توسعه هستید، یک ویرایشگر Drag and drop فراهم شده این فرآیند رو آسون‌تر می‌کنه.

 

بررسی APK: تحلیلگر APK موجود قابلیت این رو داره که از تمومی محتوای داخل APK شما رو بررسی کنه. همچنین می‌تونه سایز هر مولفه (Component) رو هم نمایش بده. می‌تونید به راحتی مشکلات فایل‌های DEX رو مشاهده کنید و همینطور دو APK رو با هم مقایسه کنین.

 

استودیوی دارایی‌های بُرداری: به کمک این می‌تونین از بازه‌ی بزرگی از تصاویر استفاده کنین. یک دایرکتوری به خصوص برای نگه‌داری تصاویر فراهم شده و همچنین می‌تونید یک فایل SVD یا PSD رو هم ادغام‌سازی کنین.

 

ویرایشگر ترجمه: این ابزار استفاده می‌شه تا همه‌‌ی منابع به کار گرفته‌شده رو بررسی و ترجمه کنه. بنابراین نیازی به این که تموم اون فایل‌های XML رو به منظور تاثیر منابع بررسی کنید، نیست.

 

با Android Studio شروع به کار کنید

همان‌طور که گفتیم Android Studio، IDE رسمی Google برای توسعه برنامه‌های Android هست. این IDE مبتنی بر IntelliJ IDEA هست که ویرایشگر کد قدرتمند و ابزارهای توسعه دهنده رو ارائه می‌ده.

 Android Studio 3.2.1 شامل ویژگی‌های زیر هست:

  • یک سیستم ساخت مبتنی بر Gradle
  • یک شبیه ساز سریع و غنی از ویژگی
  • یک محیط یکپارچه که می‌تونید برای همه دستگاه‌های Android توسعه دهید
  • اجرای سریع برای ایجاد تغییرات در برنامه در حال اجرا بدون ایجاد APK جدید
  • الگوهای کد و یکپارچه‌سازی GitHub برای کمک به شما در ایجاد ویژگی‌های مشترک برنامه و وارد کردن کد نمونه
  • ابزار و چارچوب‌های تست گسترده
  • ابزارهای پرزدار برای کمک به شما در دستیابی به عملکرد، قابلیت استفاده، سازگاری نسخه و سایر مشکلات
  • C++ و پشتیبانی از NDK
  • پشتیبانی داخلی ازGoogle Cloud Platform ، ادغام پیام رسان Google Cloud و Google App Engine را آسون می‌کنه
  • معماری پلاگین برای گسترش اندروید استودیو از طریق افزونه‌ها

 

Android Studio  رو دانلود کنید

گوگل، اندروید استودیو رو برای سیستم عامل‌های ویندوز، مک و لینوکس فراهم کرده که می تونید از سایت رسمی Android Studio اون رو دانلود کنید.

همچنین SDK های سنتی رو با ابزارهای خط فرمان Android Studio پیدا خواهید کرد.

قبل از دانلود اندروید استودیو، مطمئن شید که سیستم عامل شما شرایط زیر رو داره:

 

نیازهای ویندوز

  • Microsoft Windows 7/8/10 (32 بیتی یا 64 بیتی)
  • حداقل رم مورد نیاز 3 گیگابایتی، ولی توصیه می‌شه برای عملکرد بهتر،از رم 8 گیگابایتی استفاده بشه (به علاوه 1 گیگابایت برای شبیه ساز اندروید)
  • حداقل فضای خالی دیسک مورد نیاز 2 گیگابایت،ولی توصیه می‌شه برای عملکرد بهتر از رم 4 گیگابایت استفاده بشه (500 مگابایت برای IDE به علاوه 1.5 گیگابایت برای Android SDK و تصویر سیستم شبیه ساز)
  • حداقل رزولوشن صفحه نمایش: 800 1280 x

 

نیازهای سیستم عامل Mac

  • Mac OS X 10.10 (Yosemite) یا بالاتر، تا 10.13 (High Sierra)
  • حداقل رم مورد نیاز 3 گیگابایتی، ولی توصیه می‌شه برای عملکرد بهتر،از رم 8 گیگابایتی استفاده بشه (به علاوه 1 گیگابایت برای شبیه ساز اندروید)
  • حداقل فضای خالی دیسک مورد نیاز 2 گیگابایت،ولی توصیه می‌شه برای عملکرد بهتر از رم 4 گیگابایت استفاده بشه (500 مگابایت برای IDE به علاوه 1.5 گیگابایت برای Android SDK و تصویر سیستم شبیه ساز)
  • حداقل رزولوشن صفحه نمایش: 800 1280 x

 

نیازهای سیستم عامل لینوکس

  • دسکتاپ GNOME یا KDE. تست شده بر روی اوبونتو 14.04 LTS ، Trusty Tahr
  • توزیع 64 بیتی با قابلیت اجرای برنامه‌های 32 بیتی
  • کتابخانه GNU C (glibc) 2.19 یا بالاتر
  • حداقل رم مورد نیاز 3 گیگابایتی، ولی توصیه می‌شه برای عملکرد بهتر،از رم 8 گیگابایتی استفاده بشه (به علاوه 1 گیگابایت برای شبیه ساز اندروید)
  • حداقل فضای خالی دیسک مورد نیاز 2 گیگابایت،ولی توصیه می‌شه برای عملکرد بهتر از رم 4 گیگابایت استفاده بشه (500 مگابایت برای IDE به علاوه 1.5 گیگابایت برای Android SDK و تصویر سیستم شبیه ساز)
  • 1280 800 800 حداقل وضوح صفحه

 

پس از اطمینان از سازگاری سیستم عامل خودتون با Android Studio 3.2.1 یا بالاتر، پرونده توزیع مناسب اندروید استودیو رو بارگیری کنید.

 

نصب Android Studio در ویندوز 10 (64 بیتی)

من android-studio-ide-181.5056338-windows.exe رو راه اندازی کردم تا مراحل نصب رو شروع کنم. همون طور که در شکل 1 می‌بینید، سپس کادر محاوره‌ای Android Studio Setup نمایش داده می‌‌شه.

 

با کلیک کردن روی Next، من به پنل زیر منتقل شدم، که گزینه نصب دستگاه مجازیAndroid (AVD) را فراهم می‌کنه.

Androind Studio 01

 

من انتخاب کردم که تنظیمات پیش فرض را حفظ کنم. بعد از کلیک کردن روی Next ، به پنل تنظیمات پیکربندی منتقل شدم و در اونجا از من خواسته شد که Android Studio را نصب کنم.

Androind Studio 02

 

من مکان نصب پیش فرض را انتخاب کردم و روی دکمه Next کلیک کردم و با پنل Select Start Menu Folder روبرو شدم.

تنظیمات پیش فرض رو حفظ کردم و روی نصب کلیک کردم. پنل نصب زیر ظاهر شد:

Androind Studio 04

 

با کلیک بر روی نمایش جزئیات، نام پرونده‌های در حال نصب و سایر فعالیت‌ها نمایش داده می‌شه. وقتی نصب تموم شد، پنل Installation Complete ظاهر شد.

Androind Studio 05

 

پس از کلیک کردن روی Next، نصب کننده پنل Completing Android Studio Setup رو ارائه داد.

Androind Studio 06

 

برای تکمیل نصب، کادر Start Android Studio را علامت زده و روی دکمه پایان کلیک کردم.

Androind Studio 07

 

اولین بار که Android Studio اجرا می‌شه، یک جعبه گفتگوی Complete Installation نشان داده می‌شه که گزینه وارد کردن تنظیمات از نصب قبلی رو ارائه می‌ده.

Androind Studio 08

 

من ترجیح دادم تنظیمات را وارد نکنم (انتخاب پیش فرض) و روی تأیید کلیک کردم و این صفحه ظاهر شد.

Androind Studio 09

 

من همچنین جعبه پیام Finding Available SDK Components زیر رو مشاهده کردم.

Androind Studio 10

 

در این مرحله، Android Studio جعبه گفتگوی Android Studio Setup Wizard زیر رو ارائه داد:

Androind Studio 11

 

روی Next کلیک کردم و ویزارد از من دعوت کرد تا نوع نصب را انتخاب کنم. تنظیمات استاندارد پیش فرض رو حفظ کردم.

Androind Studio 12

 

سپس به من فرصت داده شد تا یک تم رابط کاربری رو انتخاب کنم.

Androind Studio 13

 

من تنظیمات پیش فرض IntelliJ را حفظ کردم و روی Next کلیک کردم. Android Studio بعداً فرصت تأیید تنظیمات را فراهم می‌‌کنه.

Androind Studio 14

 

من روی Finish کلیک کردم و Android Studio روند بارگیری مولفه‌های components SDK را شروع کرد.

Androind Studio 15

 

ممکن است چند دقیقه طول بکشه تا این قسمت از تنظیم به پایان برسه.

Androind Studio 16

 

در آخر ، روی Finish کلیک کردم تا ویزارد کامل بشه. کادر جمله‌ی Welcome to Android Studio ظاهر شد.

Androind Studio 17

 

آموزش برنامه نویسی اندروید

 


سئو خارجی (off-page SEO) چیست؟

سئو خارجی یا off-page SEO، به صورت کلی به مجموعه فعالیت هایی اطلاق می‌شود که یک کارشناس سئو و یا وبمستر در خارج از سایت (پیشخوان مدیریت سایت) برای بهبود عملکرد و رشد سایت انجام می دهد.

بسیاری از کارفرمایان و البته متخصصان، سئوخارجی را معادل لینک سازی خارجی می‌دانند. در اینجا لازم به ذکر است؛ با اینکه لینک سازی خارجی که در ادامه نیز به آن خواهیم پرداخت بخش بسیار مهمی از سئوخارجی را به خود اختصاص می‌دهد اما معادل سئو خارجی نیست.

در اصل تمام فعالیت هایی که مدیران و کارکنان یک برند خارج از وبسایت خود انجام می‌دهند می‌تواند حکم سئو خارجی را داشته باشد. چرا که در این موضوع، هدف برندینگ و هدف سئو خارجی به یک نقطه می‌رسند که آن هم رشد وبسایت می‌باشد.
در ادامه با چک لیست سئوخارجی که هر کارشناس سئو باید با آن آشنا باشد، خواهیم پرداخت:

 

لینک سازی خارجی 

لینک سازی خارجی بخش قابل توجهی از فعالیت های off-page SEO را شامل می شود. با اینکه در مقالات تخصصی قطعا به روش های متعدد و مختلف لینک سازی خارجی خواهیم پرداخت و متدهای کشف لینک را با شما در میان خواهیم گذاشت اما در ادامه من به نکات مهمی از جمله نحوه آنالیز و کشف لینک و در ادامه روش های عمومی ساخت لینک خواهم پرداخت.

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

 

سئوخارجی چیست

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

چرا که ممکن است بسیاری از لینک هایی که ابزاهای آنالیز رقبا به ما نشان می‌دهد توسط وب مستر یا کارشناس سئو سایت رقیب disavow شده باشد، حال شما با تقلید از استراتژی لینک سازی رقبا آن لینک ها را برای سایت خود خواهید گرفت که جز بیراهه رفتن هیچ امتیاز دیگری برای ما نخواهد داشت.

ترفند: برای آنالیز سایت رقبا از ابزار ahrefs استفاده کرده و با هوشمندی دست به انتخاب بزنید. سایت های مبدا را از نظر اعتبار دامنه، اعتبار پیج و از همه مهم تر ارتباط موضوعی با وبسایت خود بررسی و در صورت مساعد بودن تمام این شرایط اقدام به لینک سازی در سایت مشابه با کلمه کلیدی خاص خود کنید.

 

 


 

کجا لینک سازی کنیم؟

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

به صورت کلی لینک ها ممکن است در چند دسته مهم قرار بگیرند که در ادامه به صورت مختصر به آن ها اشاره خواهم کرد:

لینک های طبیعی

لینک های طبیعی بدون هیچ گونه اقدامی از طرف کارشناس سئو برای سایت شما تولید خواهد شد. این موضوع زمانی رخ می‌دهد که برندشما، مطلب شما و … در یک زمینه آنقدر شاخص و مطرح شود که سایت ها و افراد دیگر به عنوان مرجع به آن لینک بدهند.

نکته: در اصل ما در استراتژی لینک سازی خارجی سعی می‌کنیم به نحوی لینک های طبیعی برای خود ایجاد کنیم.

لینک های دستی

لینک های دستی توسط متخصص سئو و به صورت دستی و گاها با پرداخت هزینه برای وبسایت ایجاد می شود. این لینک ها می تواند در دسته های زیر قرار گیرد:

  • لینک سازی در دایرکتوری های آنلاین
  • لینک سازی در انجمن های پرسش و پاسخ
  • لینک های پروفایلی
  • رپورتاژ آگهی

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

 

شبکه های اجتماعی (social signal)

اگرچه گوگل در گذشته اظهار داشته است که سیگنال رسانه های اجتماعی مثل تعداد لایک، تعامل با فالوئرها، ریتوییت و … از عوامل موثر بر رتبه بندی و بهبود سئو سایت نمی‌باشد، اما با توجه به تست های انجام شده توسط وبمسترهای مطرح داخلی و خارجی این موضوع تقریبا قطعی شده است که سیگنال رسانه های اجتماعی به خصوص فیسبوک، توییتر و لینکدین در سئو سایت شما تاثیرگذار می‌باشد.

نکته: از آنجایی که شبکه اجتماعی یکی از مهم ترین راه های ارتباطی بین کسب وکار و مخاطب است، توجه به پیشنهادات، انتقادات و … به شکل قابل توجهی در برندینگ شما، جستجوی شما، بالارفتن نرخ تعامل و در نهایت سئوخارجی شما تاثیر گذار است.

 

سئوoffpage چیست؟

نکات مهم در رسانه های اجتماعی

1) صفحات رسانه های اجتماعی به طور کامل کراول و ایندکس شده و به عنوان نتیجه در SERP به نمایش گذاشته می شود. در نتیجه محتوای خود را به صورت دوره ای در شبکه های اجتماعی به اشتراک بگذارید.

2) اشتراک گذاری محتوا در شبکه های اجتماعی به شکل قابل توجهی تعامل کاربر با شما را بهبود می بخشد و می تواند به عنوان مرجع از دیگر افراد لینک دریافت کند.

3) از طریق سایت خود به شبکه های اجتماعی خود لینک بدهید، چراکه وبسایت ها برخلاف شبکه های اجتماعی از link juice عبور می‌کنند.

 

چند نکته مهم در سئو خارجی

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

رپورتاژآگهی اگر چه برای کسب و کار ممکن است هزینه داشته باشد، اما شما باید دقت کنید که این هزینه به طور کامل حکم سرمایه گذاری داشته و می‌تواند برای شما جدا از برندینگ، کاربر واقعی به ارمغان بیاورد و سایت شما را از رقبا متمایز کند.

 

در ادامه استراتژی های سئوخارجی به شما توصیه می کنم از فعالیت های زیر چشم پوشی نکنید:

1) اشتراک گذاری ویدئو در شبکه های اجتماعی و سایت های تولید کننده محتوای ویدئویی؛ دقت داشته باشید که فایل های ویدئویی  برای انتقال در فضای مجازی دارای پتانسیل عجیبی هستند و به سرعت می توانند برای شما سیگنال های مثبت تولید کنند.

2) اشتراک گذاری تصاویر و اینفوگراف در رسانه های تصویری مثل پینترست یا فلیکر از روش های بسیار خوب و البته رایگان برای دریافت لینک خارجی و سیگنال رسانه های اجتماعی می باشد.

 

و اما سخن آخر …

سئو سایت و به طور ویژه سئو‌ خارجی یک فرایند زمان بر و مطمئن برای رشد سایت شما می‌باشد. به یا داشته باشید که آنالیز رقبا یک طرف کار و تدوین استراتژی کوتاه و بلند مدت برای لینک سازی و انجام فعالیت های خارج سایت یک بخش دیگر است. در سئو‌ خارجی طبیعی باشید و طبیعی رفتار کنید، این جمله شاید بزرگترین و مهم ترین نکته ایست که در off-page seo باید رعایت شود.


تعریف و مقایسهی بکاند و فرانتاند به زبان ساده

 

اگر به مبحث طراحی سایت علاقه‌مند هستیدو می‌خواهید آن‌را از پایه شروع کنید تا بتوانید به همه‌ی امکانات موردنظرتان برسید بهتر است اول از همه با دو زیرشاخه‌ی برنامه نویسی وب‌سایت یعنی برنامه‌نویسی بک‌اند و برنامه‌نویسی فرانت‌اند آشنا شوید.

 

بک اند (Backend) چیست؟ 

بک اند (Backend) چیست؟

وقتی می‌خواهیم برنامه‌نویسی بک‌اند را توضیح دهیم، بهتر است از معنای لغوی آن شروع کنیم. Back در زبان انگلیسی به معنای پشت/عقب می‌باشد. همان‌طور که از معنای لغوی آن مشخص است برنامه نویسی بک اند یعنی تمام آن کارهایی که در پشت صحنه انجام میشود و کاربر آن‌ها را نمیبیند.
بک اند “Backend” عموما از سه بخش تشکیل می شود: یک سرور، یک برنامه و یک پایگاه داده‌ها (دیتا بیس).
اگر به عنوان مثال قصد خرید وسیله‌ای از یک وب‌سایت را داشته باشید، سایت را باز می‌کنید و با فرات‌اند تعامل می‌کنید. زمانی که شما اطلاعاتی نظیر ادرس وارد می‌کنید، سایت اطلاعات شمارا در پایگاه داده‌ی خود ذخیره می‌کند. تمام اطلاعاتی که وارد کردید در سرور باقی می‌ماند و اگر شما بعدها با همان حساب کاربری وارد سایت شوید می‌توانید تمام اطلاعات سفارشات و ادرس‌هایی که وارد کردید را مشاهده کنید.

 

به فردی که با استفاده از تکنولوژی‌های مختلف، ارتباط را میان سرور و دیتابیس برقرار می‌کند را توسعه دهنده بک اند “Backend Developer” می گوییم.
Backend یا بک اند، به بخشی از یک وب سایت یا نرم افزار می‌گویند که برای کاربران قابل مشاهده نیست. به عبارتی دیگر هسته و مغز یک سایت است که وظیفه کنترل منطق آن را بر عهده دارد. این بخش از سایت مانند قسمتی از کوه یخ است که در زیر سطح آب قرار گرفته است. سمت سرور با بخش سمت کاربر ارتباط مستقیم دارد و به اجزایی که در رابط کاربری طراحی شده‌اند جان می‌بخشد. برنامه نویس بک اند باید اطلاعات را متناسب با اهداف مختلف از پایگاه‌داده دریافت کند و در صورت نیاز پس از پردازش به کاربر نمایش دهد.

 

تکنولوژی های بک اند عموما شامل زبانهای برنامه نویسی مانند PHP ،Ruby ،Python و غیره می‌باشند. همچنین برای اینکه این تکنولوژی ها آسان تر نیز شوند گاهی از فریم ورک هایی مانند Ruby on Rails، Cake PHP و … برای سرعت دادن به توسعه برنامه استفاده می شود.
بسیاری از افرادی که به تازگی وارد این شاخه کاری می‌شوند، بسیار کلماتی مانند وردپرس، جوملا، دروپال و … را می‌شنوند. به عنوان مثال وردپرس یک مثال بسیار خوب برای کارکرد فرانت اند و بک اند با هم می باشد. چرا که وردپرس بر اساس یک فریم ورک کد باز بر اساس زبان برنامه نویسی PHP به سادگی بر روی یک سرور به همراه دیتابیس قابل نصب می‌باشد و سپس طراحان عملکردها و ظاهر سایت را با استفاده از کدنویسی متناسب نیاز تغییر می‌دهند.

 

فرانت اند (Frontend) چیست؟ 

فرانت اند (Frontend) چیست؟

برای توضیح فرات‌اند نیز، مانند بک‌اند، از معنای لغوی آن شروع می‌کنیم. Front در زبان انگلیسی به معنای جلو/پیش می‌باشد. در طراحی سایت فرات اند به آن بخشی گفته می‌شود که توسط کاربر قابل مشاهده است و با آن تعامل ایجاد می‌کند. فرانت اند کدهای غیر قابل فهم برای کاربران را در قالب ظاهری گرافیکی و بصری به آن‌ها نمایش می‌دهد تا استفاده از بخش‌های مختلف سایت برایشان ساده‌تر شود. در این بخش فرم‌های ورودی اطلاعات، صداها، تصاویر، ویدیوها و به صورت کلی هر چیز دیگری که برای کاربر قابل درک باشد، قرار می‌گیرد.
فرانت اند “Frontend” معمولا از دو بخش تشکیل می شود: طراحی سایت و توسعه فرانت‌اند وب.
در بخش طراحی وب، طراحان با نرم افزار‌های گرافیکی مانند فتوشاپ یا آدوبی ایکس‌دی ظاهر سایت را طراحی می‌کنند. اما بخش توسعه رابط کاربری مربوط به پیاده‌سازی ظاهر سایت در قالب کدهای HTML ،CSS و JavaScript است. زبان‌های برنامه‌نویسی که در فرانت به کار می‌روند، سمت کاربر یا Client Side می‌باشند. بنابراین کدهای نوشته شده در فرانت در مرورگر کاربر پردازش و اجرا می‌شوند. یعنی کاربر به‌راحتی به این کدها دسترسی مستقیم دارد و می‌تواند آن‌ها را مشاهده کند. فرانت‌اند با بخش بک‌اند (Backend) در ارتباط مستقیم است و تاثیر بسیاری بر روی تجربه کاربری (UX) دارد.

 

در گذشته اگر کسی از توسعه صحبت می‌کرد، عموما مربوط به بخش بک اند “Backend” بود، اما در سال‌های اخیر این موضوع بسیار تغییر کرده است و نیاز داریم میان کسی که سایت را در نرم افزاری‌های گرافیکی طراحی می‌کند و کسی که آن‌ها را تبدیل به کدهای HTML و CSS می‌کند، تفاوت قائل شویم. این موضوع زمانی که طراحان به سوی استفاده از جاوا اسکریپ و JQuery روی آوردند بسیار جدی‌تر شد.

 

 

Server Side و Client Side به چه معنا هستند. 

در متن بارها از کلمات سمت سرور و سمت کاربر استفاده شد. برای درک بهتر در ادامه به توضیح این دو مفهوم می‌پردازیم.

Client Side 

از آن‌جایی که معنای لغوی کلمه Client، مشتری است، Client Side هم به معنی زبان‌هایی است که سمت کاربر کار می‌کنند. به‌عنوان مثال میتوان به HTML، CSS، JavaScript و… زبان‌های سمت کاربر و Client Side بگوییم. و به مجموع کاری که این زبان‌ها انجام می‌دهند، طراحی وب یا Front End Development میگویند.

 

Server Side 

همانطور که از اسم این عبارت پیداست، زبان‌هایی در این دسته بندی قرار میگیرند که برای اعمال روی سرورها نوشته می‌شوند و برای اجرا شدن به یک سرور نیاز دارند. برای مثال زبان‌هایی مثل PHP یا ASP.NET برای اجرا حتما به یک سرور نیاز دارند،‌ که این سرور هم می‌تواند یک سرور واقعی در دنیای آنلاین باشد و هم یک شبیه ساز سرور یا لوکال هاست (Localhost). به زبان‌های برنامه نویسی‌ای که سمت سرور اجرا می‌شوند، زبان‌های Server Side و به مجموع کاری که این زبان‌ها انجام میدهند، برنامه نویسی بک اند یا Back End Development میگویند.

 

فول استک (Full Stack) یعنی چه؟

فول استک (Full Stack) یعنی چه؟

همانطور که پیش‌تر توضیح دادیم، در دنیای طراحی سایت،‌ گروهی از افراد قسمتی از کار که کاربر می‌بیند را طراحی و کدنویسی می‌کنند و گروهی وظیفه‌ی نوشتن کدهای سمت سرور و قسمت نهانی سایت را برعهده دارند.
اما در این میان گروه دیگری از برنامه‌نویسان وجود دارند که هم توانایی طراحی وب (فرانت‌اند) و هم برنامه‌نویسی وب (بک‌اند) را دارند. در واقع این افراد اشخاصی هستند که به تنهایی می‌توانند یک پروژه‌ی تقریبا بزرگ را به پایان برسانند. به این افراد برنامه نویس Full Stack می‌گویند.

 

برنامه نویس فول استک، همانطور که از واژه‌ی Full پیداست، همه مهارت‌های لازم برای انجام یک پروژه را دارد. به این معنا که:
یک برنامه نویس فول استک، هم می‌تواند ظاهرهای بسیار خوبی را برای سرویس‌های آنلاین طراحی کند و هم می‌تواند برنامه نویس سمت سرور خوبی باشد.
یک برنامه نویس فول استک، علاوه از تسلط بر طراحی و برنامه نویسی وب، باید بتواند یک پیدا کننده‌ی مشکل حرفه‌ای (Debuger) باشد.
یک برنامه نویس فول استک، باید توانایی بسیار خوبی در مدیریت سرور داشته باشد و همچنین از مدیریت پروژه نیز اندکی بداند. صرفا دانستن HTML,CSS,PHP, MySQL نمیتواند شما را یک برنامه نویس Full Stack کند!
همان طور که گفته شد برنامه‌نویس فول استک کسی است که در هرکدام از زمینه‌ها چندین سال تجربه دارد و با همه‌ی نکات و ریزه‌کاری‌های برنامه‌نویسی سمت سرور و سمت کاربر آشنایی دارد و نمی‌شود در همان سال‌های اولیه کار خود را یک برنامه‌نویس فول استک بدانید.

 

نتیجه‌گیری

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