محمدرضا دیده خانی
محمدرضا دیده خانی
خواندن ۳ دقیقه·۲ سال پیش

آشنایی با WebRTC.

در این مقاله در رابطه با کاربردها و فواید استفاده از تکنولوژی WebRTC صحبت میکنیم.

بصورت خلاصه:

"تکنولوژی WebRTC قابلیت ارتباط بصورت صوتی و تصویری رو داخل مرورگر ها فراهم میکنه"
  • این تکنولوژی بدون نیاز به هیچ پلاگینی در اکثر مرورگر ها قابل دسترسی هست.
  • در سال 2011 معرفی شد و محبوبیتش همچنان در حال رشده.


در سال 2016 براورد شد بطوری تقریبی حدود 2 میلیارد مرورگر نصب شده وجود داشته که میتونسته از تکنولوژی WebRTC استفاده کنه. از نظر ترافیکی، هر هفته تقریبا یک میلیارد دقیقه و 500 ترابایت دیتا توسط این تکنولوژی فقط در مرورگر ها منتقل میشه.

در طول دوره پاندمیک کوید-19 محبوبیت WebRTC بیشتر افزایش یافت. قرنطینه و دورکاری باعث شد ارتباطات از راه دور به یک ضرورت تبدیل بشه که باعث آشنایی و استفاده میلیارد ها کاربر از تماس تصویری شد.

نتیجه افزایش چشمگیری در استفاده از WebRTC بود که به پیشرفت این تکنولوژی توی زمان به نسبت کم خیلی کمک کرد.

در سال 2021 تکنولوژی WebRTC بصورت رسمی استاندارد شد که منجر به از بین رفتن بحث و گمان ها در رابطه با آینده این تکنولوژی شد.

امروزه WebRTC اکثرا به عنوان یه تکنولوژی برای تماس تصویری دیده میشه ولی قابلیت های خیلی بیشتری داره که چند نمونه از اونها رو میخونیم:

  • این تکنولوژی کاملا رایگان هست
  • بصورت یک پروژه open-source به مرورگر ها اضافه شده و هر فرد میتونه بر اساس نیاز هاش ازش استفاده کنه.
  • با افزایش محبوبیت WebRTC تعداد پروژه های open-source که با استفاده از این تکنولوژی نوشته شدن هم خیلی زیاد شد و حتی بصورت سرویس توسط برخی شرکت ها قابل استفاده هستن.
  • همیشه در حال پیشرفت هست و روز به روز امکانات بیشتری بهش اضافه میشه.



تکنولوژی WebRTC چطوری کار میکنه؟

اگه چند سال پیش میخواستیم برنامه ای بنویسیم که بتونه تماس تصویری و ویدیویی برامون فراهم کنه، حتما میرفتیم سراغ زبان های ++C/C. این یعنی زمانی طولانی تر برای ساخت و توسعه برنامه و همچنین هزینه های بالاتر.

تکنولوژی WebRTC همه اینهارو تغییر میده: نیاز به ++C/C رو جایگزین میکنه با یک API زبان جاوا اسکریپت.

این تکنولوژی همراه با یک API جاوا اسکریپت میاد به کمکتون که میشه روی مرورگر ها ازش استفاده کرد. این خیلی کار رو اسونتر میکنه وقتی که میخوایم Real-Time Communication رو توسعه بدیم. WebRTC بصورت داخلی هنوز هم خیلی از زبان های ++C/C استفاده میکنه ولی برای توسعه دهندگانی که میخوان ازش استفاده کنن اصلا لازم نیست که به جزئیات خیلی دقیقش وارد بشن و بدون اطلاعات خاصی میتونن برنامشون رو توسعه بدن.

قابلیت استفاده این تکنولوژی چقدره؟

این تکنولوژی امروزه در اکثر مرورگر های مدرن و بروز وجود داره. برای مثال مرورگر های Google Chrome, Mozilla Firefox, Apple Safari و Microsoft Edge این تکنولوژی رو ساپورت میکنن.

البته بدلیل open-source بودن پروژه میتونید ازش داخل نرم افزار ها توی سیستم عامل های مختلف هم استفاده کنید

مرورگر و سیستم عامل هایی که WebRTC ساپورت میکنن
مرورگر و سیستم عامل هایی که WebRTC ساپورت میکنن

رسانه و دسترسی های WebRTC چیه؟

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

هرکاری که WebRTC میکنه بصورت Real-Time هست، یعنی بدون هیچ وقفه ای اطلاعات انتقال پیدا میکنن.

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



دلایل متعددی وجود داره که چرا WebRTC انتخاب خوبی برای ارتباطات Real-Time هست

  1. اول از همه، WebRTC یک پروژه open-source هست که یعنی:
  • برای استفاده شخصی یا شرکتی کاملا رایگانه، پس چرا ازش استفاده نکنیم؟
  • ازونجایی که همیشه در حال توسعه و پیشرفته میتونید روش حساب کنید به عنوان تکنولوژی که سال ها جوابتونو بده
  • این تکنولوژی انتخاب قوی ایه -- تو این سالهایی که بوده کمپانی های خیلی زیادی ازش استفاده کردن که میتونن نیاز هاتونو برطرف کنن

2. داخل همه مرورگر های مدرن وجود داره.

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

4. فقط برای انتقال صدا و تصویر نیست، میشه ازش برای انتقال همه نوع داده استفاده کرد.



گردآورنده: محمدرضا دیده خانی

نام استاد: دکتر مریم حاجی اسمعیلی (دکترای علوم کامپیوتر از دانشگاه کینگستون لندن)

"Dr.Maryam Hajiesmaeili" (PhD of computer science from Kingston university of London)

open sourceجاوا اسکریپتwebrtc
شاید از این پست‌ها خوشتان بیاید