۲۹ شهریور ۱۴۰۳

Techboy

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

وضعیت جاوا اسکریپت: گفتگو با ساشا گریف

رویاپرداز "وضعیت جاوا اسکریپت" در مورد آنچه که از ایجاد و حفظ این منبع حیاتی جامعه منبع باز آموخته صحبت می کند.

رویاپرداز “وضعیت جاوا اسکریپت” در مورد آنچه که از ایجاد و حفظ این منبع حیاتی جامعه منبع باز آموخته صحبت می کند.

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

Sacha Greif، خالق نظرسنجی وضعیت جاوا اسکریپت.

Sacha Greif توسعه دهنده بررسی وضعیت جاوا اسکریپت، وضعیت CSS و وضعیت GraphQL است.

متیو تایسون: سلام ساشا، بابت یکی دیگر از وضعیت جاوا اسکریپت< /a> گزارش. برای اطلاع از آنچه در جاوا اسکریپت اتفاق می افتد بسیار مفید است. هر سه نظرسنجی که تولید می کنید نیاز به تلاش زیادی دارد. وضعیت جاوا اسکریپت مانند یک کالای عمومی است که جامعه به آن تکیه کرده است. چه چیزی شما را درگیر پروژه نگه می دارد؟

ساشا گریف: کار کردن روی چیزی که مردم به آن اهمیت می‌دهند بسیار انگیزه‌بخش است، و نظرسنجی‌ها همچنین فرصتی برای تأثیر (امیدوارم مثبت) بر توسعه وب و کار با طیف وسیعی از فن آوری های وب در فرآیند اما فراتر از آن، امیدوارم بتوانم یک کسب و کار پایدار بر اساس نظرسنجی‌ها ایجاد کنم در مقطعی در آینده.< /p>

تایسون: آیا تا به حال به این فکر می کنید که برای نظرسنجی وضعیت برنامه نویسی به زبان ها و پلتفرم های دیگر گسترش پیدا کنید؟

گریف: بله، قطعاً این کاری است که می‌توانیم روزی انجام دهیم. قبل از آن، State of React احتمالاً نفر بعدی در لیست ما است

تایسون: چه زمانی فراتر از وضعیت جاوا اسکریپت شروع به کار کردید؟

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

تایسون: در مقیاس ۱ تا ۱۰ چقدر تلاش این پروژه بیشتر از آنچه فکر می کردید انجام شده است؟

گریف: من می‌توانم بگویم، از نظر تلاش، احتمالاً ۵۰ درصد به اندازه بررسی‌های وضعیت جاوا اسکریپت و وضعیت CSS در سال گذشته کار شده است. این به این دلیل است که زیرساخت‌های ما شروع به بالغ‌تر شدن و قابل استفاده‌تر شدن می‌کنند، و همچنین به این دلیل که دامنه آن کمی کوچک‌تر بود. (من ایده انجام یک تی شرت سفارشی GraphQL یا معرفی تجسم داده های جدید را برای مثال کنار گذاشتم.)

JetBrains IDEs ترمینال جدید را پیش‌نمایش می‌کند

تایسون: تیم شما چطور؟ چند نفر در نظرسنجی “وضعیت …” مشارکت می کنند؟ چگونه افراد می توانند درگیر شوند؟

گریف: امروز، تیم اصلی من و اریک بورل هستیم، و ما سپس همکارانی مانند Lea Verou امسال برای طراحی نظرسنجی State of CSS، Sarah Fossheim در سال گذشته برای کار در دسترس‌پذیری، Raphael Benitte برای تجسم داده‌ها و غیره داشته باشید. من درباره نحوه مشارکت افراد بیشتر نوشتم اینجا.

تایسون: چه چیزی را در کار با انجمن توسعه دهندگان بیشتر دوست دارید؟

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

تایسون: می‌خواهم در مورد چیزی بپرسم که ممکن است درباره آن نظری داشته باشید یا نداشته باشید: نظر شما در مورد یادگیری ماشینی و تولید کد هوش مصنوعی چیست؟ آیا این فناوری‌ها توسعه‌دهندگان را منسوخ می‌کنند؟

گریف: در مورد تولید کد هوش مصنوعی، من واقعاً نظر محکمی ندارم. احتمالاً به ابزار مرجع دیگری مانند Stack Overflow تبدیل خواهد شد. نمی‌دانم که چگونه می‌تواند توسعه‌دهندگان را منسوخ کند، زیرا ۱) هنوز به کسی نیاز دارید که کد اصلی را که هوش مصنوعی برای مدل خود استفاده می‌کند بنویسد، و ۲) هنوز به کسی نیاز دارید تا بررسی کند که کدی که هوش مصنوعی نوشته کار می‌کند و انجام می‌دهد. آنچه از آن انتظار دارید در بهترین حالت می‌توانید استدلال کنید که توسعه‌دهندگان بیشتر شبیه منتقدان خواهند شد و خودشان کمتر کد می‌نویسند. اما، به‌عنوان فردی که مقدار زیادی متن باز انجام می‌دهد، می‌توانم به شما بگویم که بررسی کد شخص دیگری در واقع اغلب کار بیشتری نسبت به نوشتن کد خود از ابتدا دارد.

تایسون: انگیزه اولیه برای انجام بررسی وضعیت جاوا اسکریپت چه بود؟ چگونه آن را در خواب دیدید؟

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

GitHub به دلیل دستیار کدنویسی هوش مصنوعی Copilot با شکایت روبرو است

تایسون: می‌توانید کمی در مورد نحوه استفاده مجدد از برنامه و سایت نظرسنجی جاوا اسکریپت صحبت کنید؟

گریف: انجام نظرسنجی‌ها به‌عنوان پروژه‌های یک‌باره قبلاً کار بزرگی بود، اما چیزی که واقعاً به تلاش زیادی نیاز داشت، توسعه زیرساخت‌های قابل استفاده مجدد بود تا ما را قادر سازد به صورت افقی به موضوعات نظرسنجی بیشتری مقیاس دهیم. امروز ما دو برنامه Next.js، دو API Node.js GraphQL، یک کد گتسبی و یک پایگاه کد Astro داریم و همه آنها نقش خاصی را ایفا می کنند. بنابراین همانطور که می توانید تصور کنید حفظ همه آن کد می تواند زمان زیادی را ببرد.

اما امیدواریم در نهایت بتوانیم به نقطه‌ای برسیم که راه‌اندازی یک نظرسنجی جدید فقط به کار در زمینه طراحی نظرسنجی و کار بر روی تجسم داده‌ها نیاز داشته باشد، و هر چیز دیگری – جمع‌آوری داده‌ها، پردازش، و غیره – به راحتی بر اساس داده‌ها اجرا شود. کاری که قبلاً در گذشته انجام داده ایم. (در اینجا بیشتر درباره نحوه وضعیت JS /نظرسنجی‌های CSS اجرا می‌شوند.)

تایسون: بله، از نظر کد و زیرساخت کار زیادی به نظر می رسد. می توانید کمی بیشتر در مورد نحوه معماری اشیا صحبت کنید؟

Greif: تمایز بزرگ بین نظرسنجی‌های «وضعیت…» و سایر نظرسنجی‌های سنتی‌تر، حداقل از نظر فنی، این است که تمام داده‌های ما به جای کامپایل شدن، از طریق یک API زنده در دسترس قرار می‌گیرند. از طریق اسکریپت های یکباره.

این امکان را برای ما فراهم می‌کند که چیزهایی مانند Data Explorer یا Chart Filters جدید ایجاد کنیم، که در آن کاربران نهایی می‌توانند به صورت پویا متغیرهایی را که می‌خواهند مقایسه کنند و نمودارهای موجود را برای ایجاد تجسم‌های داده جدید تغییر دهند و امیدواریم بینش جدیدی از ما ایجاد کنند. داده ها.

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

نظرسنجی وضعیت جاوا اسکریپت شامل ابزار تجسم داده است.

شکل ۱. Data Explorer یک ابزار تجسم داده پویا در نظرسنجی “وضعیت…” است.

کاربران می توانند با استفاده از Data Explorer تصاویر دلخواه ایجاد کنند.

شکل ۲. کاوشگر داده به کاربران اجازه می دهد تا تصاویر سفارشی داده را ایجاد کنند.

تایسون: آیا از برنامه‌های لبه یا بدون سرور مانند Vercel استفاده می‌کنید؟ آیا نظری دارید؟

غم: ما از Vercel برای میزبانی برنامه نظرسنجی خود استفاده می‌کنیم، اما چیز زیادی فراتر از آن کاوش نکرده‌ایم.

تایسون: از ظهور ناگهانی Bun شگفت زده شده ام. من متوجه نشدم که چنین تمایلی برای رویکرد جدیدی به جاوا اسکریپت سمت سرور وجود دارد. شما چطور؟

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

تایسون: در سال ۲۰۲۳ چه اتفاقی در توسعه فرانت اند می بینید؟ آیا روند اصلی وجود دارد؟

Greif: روند اصلی که من می بینم که در راه است توجه بیشتر به عملکرد و مدیریت چیزهای بیشتری در سرور است. این ممکن است پیامدهای غیرمنتظره ای داشته باشد، به عنوان مثال، ممکن است در واقع شاهد حرکتی “به عقب” به سمت الگوهایی باشیم که قبلاً استفاده می کردیم، مانند استفاده از کتابخانه های کوچکتر جاوا اسکریپت یکبار مصرف که بخشی از یک چارچوب بزرگتر نیستند.

تایسون: متوجه شدم شما ماندارین خوانده اید و اکنون در ژاپن زندگی می کنید. زندگی در آنجا چگونه است؟

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

تایسون: زی زی، خیلی ممنون، ساشا. به کار عالی ادامه دهید!

گریف: از فرصتی که برای به اشتراک گذاشتن کمی بیشتر در مورد کارم به شما ارائه دادید متشکرم! ما قطعاً چیزهای هیجان انگیز زیادی برای سال ۲۰۲۳ برنامه ریزی کرده ایم. من مردم را تشویق می کنم برای لیست پستی ما ثبت نام کنند تا این کار را نکنند. نظرسنجی ها و رویدادهای آینده را از دست ندهید!