۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

Google Project IDX: یک IDE ابری امیدوارکننده نسل بعدی

Project IDX با ظاهر و احساس VS Code، ادغام GitHub، اشتراک‌گذاری فضای کاری، و کمک کدنویسی مبتنی بر هوش مصنوعی می‌درخشد. اما در حال حاضر آزمایشی است و فقط در یک پیش‌نمایش محدود در دسترس است.

Project IDX با ظاهر و احساس VS Code، ادغام GitHub، اشتراک‌گذاری فضای کاری، و کمک کدنویسی مبتنی بر هوش مصنوعی می‌درخشد. اما در حال حاضر آزمایشی است و فقط در یک پیش‌نمایش محدود در دسترس است.

در آگوست ۲۰۲۳، گروه کوچکی از سرنخ‌های توسعه و UX گوگل از دشواری راه‌اندازی یک محیط توسعه برای برنامه‌های چند پلتفرمی و فول استک ابراز تاسف کردند و برداشت خود را از یک نمونه آزمایشی ارائه کردند که برای حل این مشکلات است. دشواری راه‌اندازی پشته‌های فناوری برای توسعه، مشکل جدیدی نیست. حداقل از اوایل دهه ۱۹۸۰، زمانی که رایانه‌های شخصی در دسترس قرار گرفتند، این مشکل وجود داشت.

Project IDX یک محیط توسعه مبتنی بر مرورگر است که بر روی Code OSS ساخته شده است و توسط Codey، یک < a>مدل پایه هوش مصنوعی مولد آموزش‌دیده بر روی کد و ساخته شده بر روی PalM 2. Project IDX به گونه‌ای طراحی شده است که ساخت، مدیریت و استقرار برنامه‌های کاربردی وب و چند پلتفرمی تمام پشته را با استفاده از چارچوب‌ها و زبان‌های محبوب آسان‌تر کند. p>

Code OSS نسخه کاملاً منبع باز Visual Studio Code مایکروسافت است. دومی علیرغم اینکه نرم افزار رایگان است، چند افزودنی اختصاصی دارد.

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

چندین محصول وجود دارد که در سطوحی با Project IDX رقابت می‌کنند. اینها عبارتند از AWS Cloud9، Gitpod، Online IDE، Replit، StackBlitz، Eclipse Che، Codeanywhere و GitHub Codespaces.

شبیه کد ویژوال استودیو است

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

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

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

google project idx 01

Project IDX به دلیل شباهت آن به VS Code احساس آشنایی خواهد داشت. منوی “همبرگر” سمت چپ، جایگزین منوی ردیف بالا در VS Code می‌شود و بیشتر موارد مشابه منو را هنگامی که بیرون می‌آید ارائه می‌دهد. نمادهای موجود در ردیف عمودی زیر که محتویات ستون بعدی را در سمت راست کنترل می‌کنند، در حال حاضر کاوشگر فایل، طرح کلی کد فایل فعلی، جدول زمانی فایل فعلی و وابستگی‌های برنامه را نشان می‌دهند. صفحه ویرایش بزرگی که در حال حاضر main.dart را نشان می دهد می تواند حداکثر چهار برگه را نمایش دهد. پنجره پیش‌نمایش سمت راست نیز می‌تواند صفحه IDX AI و برگه‌های فایل کد اضافی را نمایش دهد. ناحیه بزرگ در پایین سمت راست مشکلات کد، خروجی، کنسول اشکال زدایی و ترمینال را نشان می دهد.

در یک ایستگاه کاری ابری اجرا می شود

ویرایشگر کد IDX OSS در یک Google Cloud VM اجرا می‌شود که Cloud Workstation نامیده می‌شود. به طور معمول، زمان Cloud Workstation به ازای هر ساعت با نرخی محاسبه می‌شود که بسته به اندازه نوع دستگاه متفاوت است، از ۰.۱۶ دلار در ساعت تا ۹.۳۶ دلار در ساعت. Project IDX در حال حاضر رایگان است.

به طور معمول، ایستگاه های کاری Cloud از انواع IDE های محبوب و هوش مصنوعی Duet پشتیبانی می کنند. Project IDX فقط از Code OSS و Codey به جای Duet پشتیبانی می کند. (من نمی توانم تفاوت بین هوش مصنوعی Duet و Codey را در عمل به شما بگویم، اگرچه ممکن است مقایسه جالبی برای بررسی باشد.) ایستگاه های کاری ابری معمولاً می توانند در شبکه خصوصی شما و در محیط صحنه اجرا شوند. Project IDX در حال حاضر به محیط خودش محدود شده است.

از بسیاری از زبان ها و چارچوب ها پشتیبانی می کند

می‌توانید پروژه‌هایی را در Project IDX با قالب‌های داخلی و واردات GitHub ایجاد کنید. این قالب ها از زبان های جاوا اسکریپت، تایپ اسکریپت و دارت و فریمورک های Angular، React، NextJS، Vue، Svelte و Flutter پشتیبانی می کنند. در آینده، Project IDX قرار است از Python، Go و “AI” پشتیبانی کند. می‌توانید به صورت اختیاری از Nix برای سفارشی کردن فضای کاری خود استفاده کنید.

GitHub برای همه کدنویس ها به احراز هویت دو مرحله ای نیاز دارد

google project idx 03

این منو انتخاب اولیه شما را از نوع برنامه ای که تولید یا وارد می کنید به شما ارائه می دهد. هر مورد (غیر از گروه “به زودی” در پایین) یک صفحه ثانویه برای تعیین چارچوب برنامه شما و نامگذاری برنامه شما باز می کند.

google project idx 03a

صفحه نمایش سطح دوم برای تولید یک برنامه وب جدید در حال حاضر انتخابی از شش چارچوب وب را ارائه می دهد. آنها Angular، React، Next.js، Vue، Svelte یا یک برنامه خالی هستند که به معنای نوشتن HTML، JavaScript/TypeScript و CSS خود شماست. Nix فایلی است که می توانید برای سفارشی کردن یک فضای کاری استفاده کنید.

با Git و GitHub ادغام می شود

واردات GitHub می تواند سه نوع باشد: وب، فلاتر، و «دیگر»، که در حال حاضر به نظر می رسد به معنای چارچوب های جاوا اسکریپت/تایپ اسکریپت غیر از مواردی است که به صراحت فهرست شده است. فریمورک هایی که به صراحت پشتیبانی می شوند عبارتند از Angular، React، Next.js، Vue و Svelte.

اگر پروژه GitHub شما دارای وابستگی به جاوا اسکریپت است، می‌توانید پس از تکمیل وارد کردن، npm install را در پنجره ترمینال IDX خود اجرا کنید. همچنین می‌توانید پروژه خود را از داخل IDX به یک مخزن Git تبدیل کنید و آن را با GitHub همگام‌سازی کنید.

google project idx 04

Project IDX به خوبی با Git و GitHub ادغام می شود. در سمت چپ، می‌توانید گزینه‌های مقداردهی اولیه یک مخزن Git و انتشار آن در GitHub را ببینید.

google project idx 04a

پس از ایجاد یک مخزن و احراز هویت در GitHub، Project IDX می تواند مخزن را به GitHub فشار دهد. در اینجا می توانید نمایشگر GitHub معمولی فایل README.md را که توسط Angular برای برنامه تولید شده است، مشاهده کنید.

پیش‌نمایش، استقرار و اشتراک‌گذاری برنامه‌ها

علاوه بر پیش‌نمایش وب، Project IDX پیش‌نمایش‌هایی را در شبیه‌سازهای Android و شبیه‌سازهای iOS ارائه می‌دهد که توسط الگوی زیرین پشتیبانی می‌شوند. هر سه برای یک برنامه Flutter کار می کنند. فقط دو مورد، پیش‌نمایش وب و شبیه‌ساز iOS، برای یک برنامه Angular کار می‌کنند، زیرا یک برنامه Angular استوک بومی نیست مگر اینکه چیزی مانند Ionic یا NativeScript اضافه کنید.

می‌توانید مستقیماً از فضای کاری خود به میزبان Firebase مستقر شوید. به صورت آزمایشی، می‌توانید فضای کاری خود را با دسترسی مشترک کامل به اشتراک بگذارید.

Project IDX با افزونه های از پیش نصب شده برای زبان ها و چارچوب هایی که پشتیبانی می کند ارائه می شود. قرار است افزونه‌های دیگری را پشتیبانی کند که از OpenVSX در دسترس هستند، اگرچه نمی‌توانم تأیید کنم که آیا همه آن‌ها کار می‌کنند یا خیر. در این مرحله – تعداد زیادی (بیش از ۳۰۰۰) برای بررسی وجود دارد.

در متاکلود چه اتفاقی می افتد؟

یکی از محدودیت‌های اصلی پروژه IDX این است که تنها دو پروژه به طور همزمان مجاز هستند. می‌توانید با ذخیره پروژه‌ها در GitHub و شعبده‌بازی که در IDX باز کرده‌اید، از این موضوع دور شوید.

توجه داشته باشید که گزارش‌های اشکال متعدد فراتر از فهرست موجود در سؤالات متداول.

google project idx 05

برنامه Flutter دو خطای راه اندازی را گزارش کرد. در اینجا سعی می کنم یکی از آنها را با کمک IDX AI حل کنم. متأسفانه، توصیه هوش مصنوعی برای استفاده از sudo apt-get برای نصب کروم بی فایده بود، زیرا IDX VM در حال حاضر شامل sudo یا apt-get نیست. من آن را توهم نمی نامم، زیرا ممکن است این ابزارها برای نسخه آینده برنامه ریزی شوند.

در Google Cloud زندگی می‌کند

Project IDX نویدهای زیادی را نشان می دهد. از نظر بصری شبیه کد ویژوال استودیو برای وب است (که متاسفانه فاقد ترمینال و دیباگر است). هم از نظر بصری و هم از نظر عملکرد شبیه به GitHub Codespace و Gitpod است و از نظر عملکردی شبیه Eclipse Che است.

یکی از دلایلی که ممکن است Project IDX را به یکی از آن‌ها ترجیح دهید میزبانی آن در Google Cloud Workspace است، که اگر می‌خواهید با هر سرویس Google Cloud یا سایر برنامه‌هایی که در Google اجرا می‌کنید یکپارچه شوید، مزیت بزرگی است. ابر از سوی دیگر، اگر کد موجود شما روی AWS اجرا می‌شود، ممکن است بخواهید از AWS Cloud9 استفاده کنید.

بزرگترین نگرانی من در مورد تعهد به Project IDX، سابقه طولانی Google در کشتن پروژه‌ها و خدماتش خواهد بود. +Google را به خاطر دارید؟ فری بیس؟ ابزار جستجوی گوگل؟ پلیمر؟ دامنه های گوگل؟ همه طوطی‌های سابق، از پرده پایین رفته و به گروه کر نامرئی پیوسته‌اند.

با این وجود، Project IDX جذابیت های خود را دارد. تا زمانی که یک مخزن GitHub از فضای کاری خود ایجاد کنید و آن را به روز نگه دارید، مطمئناً ارزش امتحان کردن را دارد.

هزینه: پیش نمایش رایگان

پلتفرم: مبتنی بر مرورگر، میزبانی شده در Google Cloud