Retrofit چیست ؟

سلام دوستان در این سری از آموزش های کاربردی به بررسی Retrofit می پردازیم در ادامه با ما همراه باشید همانطور که سایت رسمی Retrofit گفته است یک نوع rest client امن برای اندروید و جاوا است شاید بهتر باشید ابتدا Rest را برای کاربران توضیح دهیم.Rest یا Representational State Transfer یک معماری وب سرویس است که از HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده میکند کار کردن با REST بسیار ساده تر از وب سرویس های پیچیده ای مانند SOAP میباشد. امن ترین سرویسی که شما می توانید برای برقراری http پیدا کنید شاید فقط و فقط Retrifit باشد.
مزایای Retrofit نصبت به دیگر سرویس ها مانند volley و okhttp

  • فوق العاده سریع
  • برای اندروید و جاوا قابل استفاده است
  • امکان اپلود فایل وجو دارد
  • ارسال request به صورت http امن
  • multipart request body
  • امکان دانلود فایل
  • Caching
  • authentication
  • Testing and Mocking
  • Pagination
  • Converts
  • response

معماری REST لازم است شرایط زیر را داشته باشند:

  • کلاینت سرور (client-server) باشد.
  • بدون حالت (stateless) باشد.
  • قابلیت cache داشته باشد.
  • سیستم لایه‌بندی شده  داشته باشد.
  • واسط یکنواخت  داشته باشد.
  • دارای قابلیت کد در صورت نیاز  باشد.

از لحاظ رویکرد برنامه نویسی REST جایگزینی ساده برای سرویس‌های وب است. توسعه‌پذیری در تعاملات میان اجزا، عمومیت واسط ها، توسعه مستقل اجزا و استفاده از واسطه ها  از کلیدی ترین اهداف معماری REST می‌باشد و همچنین استفاده از معماری REST در برنامه‌نویسی کارایی، سادگی، انعطاف‌پذیری، امکان مشاهده و نظارت، قابلیت حمل و قابلیت اطمینان را افزایش می دهد.
یک وب سرویس REST دارای مشخصات زیر است
بوسیله URI کار میکند یعنی ریسورس ها و کالکشن های خود را به صورت http://example.com/resources دریافت میکند
اطلاعات را به صورت عموما JSON دریافت میکند البته میتواند اطلاعات به صورت XML هم برگردانده شود
برخلاف وب سرویس های برپایه SOAP هیچ استاندارد رسمی برای وب سرویس های REST وجود ندارد به دلیل اینکه REST یک معماری است در حالی که SOAP یک پروتکل وب سرویس است.
 
این ها فقط بخشی از امکانات سرویس retrofit است در آموزش بعدی نحوه استفاده از این سرویس را برای شما دوستان عزیز قرار می دهیم.
موفق باشید.

مطالعه بیشتر