به گزارش روابط عمومی شرکت اکسیکو، وقتی در دنیای محاسبات و فناوری قدم میگذاریم، با اصطلاحات زیادی روبرو میشویم که هرکدام بخشی از حقیقت را روایت میکنند. اما در میان این واژهها، «پلتفرم» (Platform) احتمالاً یکی از کلیدیترین و در عین حال مبهمترین مفاهیم است. اگر بخواهیم خیلی ساده و بدون پیچیدگیهای آکادمیک شروع کنیم، باید بگویم که پلتفرم در واقع همان «زمینی» است که همه بناهای دیجیتال ما روی آن ساخته میشود. فکر کنید میخواهید یک خانه بسازید؛ آن زمین، پیریزی، انشعابات آب و برق و زیرساختهای خیابان، همگی پلتفرم شما هستند. در دنیای کامپیوتر، پلتفرم دقیقاً همین نقش را دارد؛ مجموعهای از استانداردها، قوانین، سختافزارها و نرمافزارها که به برنامهنویس یا کاربر اجازه میدهد کارهای بزرگتری انجام دهد. بدون این زیرساخت، هیچ اپلیکیشنی، هیچ بازیای و هیچ وبسایتی نمیتواند وجود داشته باشد. اهمیت پلتفرم دقیقاً از همینجا ناشی میشود: پلتفرم مرزهای «ممکن» را برای یک سیستم تعیین میکند.
بگذارید با یک مثال ملموستر جلو برویم. یک اپلیکیشن ساده را تصور کنید که روی گوشی اندرویدی شما نصب شده است. این اپلیکیشن برای اینکه بتواند اجرا شود، به منابعی نیاز دارد که خودش آنها را مدیریت نمیکند؛ مثلاً برای دسترسی به دوربین، اتصال به اینترنت، یا ذخیره کردن دادهها، به اجازه سیستمعامل اندروید نیاز دارد. اینجا، اندروید برای آن اپلیکیشن، «پلتفرم» محسوب میشود. اما ماجرا به همینجا ختم نمیشود. گاهی اوقات نیازهای یک سرویس از این هم فراتر میرود. مثلاً سرویسهای اینترنتی پیشرفتهای را در نظر بگیرید که فقط در صورتی کار میکنند که هم سیستمعامل اندروید باشد و هم مرورگر خاصی روی آن نصب باشد. در این شرایط، پلتفرم مورد نظر ما دیگر فقط یک سیستمعامل نیست؛ بلکه ترکیبی از سیستمعامل و مرورگر است. به همین دلیل است که ما اصطلاح «مالتی پلتفرم» یا «چند سکویی» را میشنویم. شرکتهای بزرگ نرمافزاری برای اینکه محصولشان در همه جا در دسترس باشد، باید نسخههای متفاوتی از اپلیکیشن خود را برای پلتفرمهای مختلف بسازند. چون هر پلتفرم، قوانین بازی مخصوص به خودش را دارد.
اما پلتفرمها فقط در دنیای نرمافزار خلاصه نمیشوند و این همان جایی است که باید نگاه دقیقتری به لایههای زیرین سختافزار بیندازیم. اگر به تاریخچه کامپیوترها نگاه کنید، میبینید که هر پلتفرم مجموعهای از قوانین، استانداردها و البته محدودیتهای خاص خود را دارد. سختافزار هم پلتفرم خودش را دارد. برای مثال، سیستمهای کلی مانند یک لپتاپ یا یک گوشی هوشمند، هرکدام یک پلتفرم سختافزاری مجزا هستند. چرا؟ چون هر کدام «فاکتور فرم» (Form Factor) خاص خود را دارند و به صورت مستقل عمل میکنند. اما جالبتر از آن، اجزای فردی هستند. یک پردازنده مرکزی (CPU) که در قلب رایانه شما قرار دارد، خود یک پلتفرم است. چرا باید پردازنده را پلتفرم بدانیم؟ چون پردازنده معماری خاصی دارد که مشخص میکند چگونه باید با حافظه، مادربرد و سایر قطعات ارتباط برقرار کند. این معماری، همان «قوانین» آن پلتفرم است. اگر شما بخواهید کارت گرافیکی را به سیستم اضافه کنید، باید از رابطهایی (Interface) مثل PCI Express استفاده کنید. این رابطها هم در واقع پلتفرمی برای توسعه کارتهای جانبی هستند. یعنی تولیدکنندگان کارت گرافیک، قوانینِ آن رابط را رعایت میکنند تا کارتشان با مادربرد سازگار باشد. این یعنی همه چیز در دنیای تکنولوژی، از یک سلسلهمراتب پلتفرمی پیروی میکند.
در سوی دیگر ماجرا، پلتفرمهای نرمافزاری قرار دارند که به مراتب گستردهتر و البته برای کاربران ملموستر هستند. سیستمهای عامل مانند ویندوز، مکاواس، لینوکس یا آیاواس، بارزترین نمونههای سیستم نرمافزاری هستند. این سیستمها در واقع مدیرانِ همهکارهی منابع سختافزاری هستند. آنها اجازه میدهند نرمافزارهای کاربردی (مثل ورد، فتوشاپ یا تلگرام) با سختافزاری که شاید حتی نامش را هم ندانید، ارتباط برقرار کنند. پلتفرم نرمافزاری مانند یک مترجمِ هوشمند عمل میکند؛ اوست که دستورات برنامه کاربردی را به زبان صفر و یکِ سختافزار ترجمه میکند تا مثلاً مانیتور بتواند تصویر را نشان دهد یا پرینتر بتواند یک فایل را چاپ کند.
نکته بسیار ظریفی که بسیاری از ما فراموش میکنیم، این است که تعریف پلتفرم با گذشت زمان تکامل پیدا کرده است. امروزه برخی از نرمافزارهای کاربردی، خودشان به یک پلتفرم تبدیل شدهاند. مثلاً مرورگر کروم یا سافاری را در نظر بگیرید. در نگاه اول، اینها فقط ابزاری برای وبگردی هستند. اما آیا تا به حال به اکوسیستم افزونهها (Extensions) فکر کردهاید؟ کروم با اجازه دادن به برنامهنویسان شخص ثالث برای ساخت افزونه، در واقع به یک پلتفرم تبدیل شده است. یا سایتهای رسانههای
اجتماعی مانند فیسبوک؛ این سایتها تنها یک وبسایت ساده برای پست گذاشتن نیستند. آنها با ارائه API، به توسعهدهندگان اجازه میدهند برنامهها یا بازیهایی بسازند که درون خودِ فیسبوک اجرا میشوند. این یعنی فیسبوک عملاً یک «بستر» یا همان پلتفرم برای سایر سرویسها فراهم کرده است. حتی بازیهای ویدیویی که از قابلیت «مادینگ» (Modding) پشتیبانی میکنند، پلتفرم هستند. وقتی بازیساز یک ویرایشگر در اختیار کاربران میگذارد تا نقشهها یا کاراکترهای جدید بسازند، عملاً موتور بازیاش را به یک پلتفرم خلاقیت تبدیل کرده است. در اینجاست که درکِ مرز بین «برنامه» و «پلتفرم» دشوار میشود. کلیدِ تشخیص در این است که بپرسیم: «آیا این برنامه، زیرساختی برای ساخته شدنِ چیزهای دیگر است؟» اگر پاسخ مثبت باشد، با یک پلتفرم طرف هستیم.
در نهایت، نمیتوان از پلتفرم حرف زد و از کنسولهای بازی حرف نزد. کنسولهای بازی (مثل پلیاستیشن یا نینتندو) شاید کاملترین نمونه از ترکیب سختافزار و نرمافزار به عنوان یک پلتفرم واحد باشند. هر کنسول، دنیای بستهای است که قوانین خودش را دارد. بازیهایی که برای یک کنسول ساخته میشوند، بهراحتی روی نسلهای بعدی اجرا نمیشوند؛ نه فقط به خاطر تفاوتهای سختافزاری، بلکه به خاطر تفاوت در «زبان» یا همان زبان برنامهنویسی و سیستمعامل پلتفرم. این کنسولها پلتفرمهایی هستند که سختافزار، رابطها، سیستمعامل و نرمافزارهای کاربردی (بازیها) را در یک بستهبندیِ بینقص به کاربر ارائه میدهند.
وقتی همه اینها را کنار هم میگذاریم، به این نتیجه میرسیم که پلتفرم یک مفهوم ایستا و ثابت نیست. پلتفرم مجموعهای است از سختافزار، نرمافزار و سیستمعامل که در کنار هم محیطی را فراهم میکنند تا کاربر بتواند با دنیای دیجیتال تعامل کند. در واقع، سیستمعامل خودش عضوی از خانوادهی نرمافزار است، اما به دلیل نقش مدیریتیاش، در سطحی بالاتر قرار میگیرد. تفاوت اصلی در این است که سیستمعامل منابع را مدیریت میکند، در حالی که پلتفرمِ کلی، بسترِ ایجاد ارزش است. بنابراین، دفعه بعد که با لپتاپتان کار میکنید یا با گوشی خود وارد اپلیکیشنی میشوید، یادتان باشد که شما فقط با یک «نرمافزار» سر و کار ندارید؛ بلکه دارید روی قلهی کوه یخی از استانداردهای سختافزاری، پروتکلهای نرمافزاری و توافقنامههای مهندسی حرکت میکنید که همان «پلتفرم» است. این دنیای پلتفرمهاست؛ دنیایی که در آن همه چیز، از کوچکترین تراشههای روی مادربرد تا پیچیدهترین شبکههای اجتماعی، بر پایه این زیربناهای استوار ساخته شدهاند تا زندگیِ دیجیتال ما ممکن شود. درک این مفاهیم، کلیدِ ورود به دنیای حرفهایِ فناوری است؛ چرا که پلتفرمها، هم محدودیتسازند و هم توانمندساز، و این هنرمندیِ مهندسان است که توانستهاند با این قوانین، چنین آزادی عملی را برای ما به ارمغان بیاورند. امیدوارم این نگاهِ عمیقتر به مفهوم پلتفرم، برای مخاطبان سایتت هم به اندازه خودِ من جذاب و الهامبخش باشد.