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

Techboy

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

۷ پروژه جاوا اسکریپت عالی که امروز باید بررسی کنید

اکوسیستم جاوا اسکریپت سرشار از نوآوری است و به سرعت در حال گسترش است. در اینجا هفت ابزار و چارچوبی وجود دارد که به آینده جاوا اسکریپت اشاره می کنند.

اکوسیستم جاوا اسکریپت سرشار از نوآوری است و به سرعت در حال گسترش است. در اینجا هفت ابزار و چارچوبی وجود دارد که به آینده جاوا اسکریپت اشاره می کنند.

در اینجا هفت پروژه جاوا اسکریپت جدیدتر وجود دارد که ممکن است هنوز درباره آنها ندانید. این ابزارها و چارچوب‌ها طیف وسیعی از عملکردها را پوشش می‌دهند و به ما بینشی از روندهای نوظهور در توسعه جاوا اسکریپت می‌دهند. به عنوان مثال می توان به ایجاد برنامه بومی، توسعه تمام پشته با تایپ قوی، جایگزین زمان اجرا حذفی برای Node.js، گرافیک درون مرورگر و موارد دیگر اشاره کرد. همه پروژه ها در حال حاضر توسط توسعه دهندگان مورد استقبال قرار می گیرند، بنابراین ممکن است برای مدت طولانی تحت رادار نباشند. فقط به یاد داشته باشید، شما ابتدا در مورد آنها اینجا شنیدید!

Tauri: یک چارچوب جاوا اسکریپت برای برنامه های دسکتاپ

Tauri یک چارچوب جاوا اسکریپت برای ساخت برنامه های دسکتاپ است. شاید «متا چارچوب» اصطلاح بهتری باشد. این به شما امکان می‌دهد از هر چارچوب وب جلویی، مانند React یا Svelte استفاده کنید و آن را به یک کلاینت “غنی” بین پلتفرمی تبدیل کنید.

دنژل، یکی از بنیانگذاران Tauri، کمی در مورد انگیزه توسعه یک چارچوب دسکتاپ جدید به اشتراک گذاشت.

فرایند توسعه برای Tauri بسیار جالب است. چارچوب به شما امکان می‌دهد با خط لوله موجودی که استفاده می‌کنید، بسازید، برای مثال، SvelteKit ساخته شده با Vite. Tauri می تواند هر پشته ای را که در نهایت به جاوا اسکریپت و HTML ساخته می شود، مدیریت کند. این برنامه در مقابل سرور توسعه اجرا می شود و در حین حرکت، مشتری دسکتاپ بومی را برای شما ایجاد می کند.

دنژل فرآیند توسعه را به شرح زیر توصیف می کند:

  1. یک سرور توسعه دهنده را با استفاده از Svelte، Solid.js، React، Vue و غیره راه اندازی کنید.
  2. tauri.conf را برای گوش دادن در آن پورت پیکربندی کنید.
  3. یک پنجره توسعه دهنده Tauri را راه اندازی کنید.

اگرچه کد Tauri سیستم‌گرا است و در Rust ساخته شده است، توسعه‌دهندگان با APIهایی تعامل دارند که تقریباً همه با جاوا اسکریپت نوشته شده‌اند. Tauri یک رویکرد قانع کننده برای ساخت برنامه های دسکتاپ بومی برای جهان توسعه دهندگان جاوا اسکریپت است. برخلاف چارچوب‌های قدیمی‌تر که کارهای مشابهی را انجام دادند، Tauri به نظر می‌رسد با استفاده از جاوا اسکریپت، وعده توسعه چند پلتفرمی را انجام می‌دهد.

tRPC: توسعه API با TypeScript

tRPC یک رویکرد جذاب برای ساختن APIهای پشتیبانی شده توسط TypeScript است. اگرچه tRPC در همان خانواده فناوری‌های GraphQL است، اما tRPC از این جهت متفاوت است که تعامل بین کدهای جلویی و پشتی را خودکار می‌کند. همچنین دارای قدرت‌های فوق‌العاده‌ای است که از توانایی TypeScript برای اعمال تایپ به دست آمده است.

از خالق tRPC الکس جوهانسون پرسیدم که چرا tRPC را ایجاد کرده است.

ابر قدرت tRPC از آنچه در حال حاضر وجود دارد برای پشتیبانی از اجرا و ارتباط انواع در کل پشته استفاده می کند. این یک نوع استنتاج از نوع دو طرفه را ارائه می دهد و باعث می شود بدون واسطه ابرداده یا یک مرحله ساخت اضافی برای پیوند تعاریف API با کد مصرف کننده کار کند. وقتی متوجه شدم tRPC درباره چیست، احساس سادگی داشتم که نشان از نبوغ دارد.

اینجا یک برنامه React تمام پشته زنده است که توسط تیم tRPC با استفاده از StackBlitz ساخته شده است. . tRPC نقاط پایانی را فراهم می کند و کل کار بسیار ساده است و فقط تعداد انگشت شماری فایل مورد نیاز است. ساده خوب است.

در مثال StackBlitz، نقاط پایانی در معرض اطلاعاتی را که IDE در دسترس است هدایت می کند. به عنوان مثال، در قسمت جلویی، متغیر result با استفاده از یک قلاب tRPC سفارشی useQuery پر شده است مانند: const result = trpc.greeting.useQuery({ name : 'client' });. در قسمت پشتی، این کار توسط یک روتر tRPC انجام می شود.

سپس قسمت جلویی می تواند از متغیری مانند این استفاده کند: {result.data.text}. IDE (و مرحله کامپایل TypeScript) کاملاً آگاه است و قادر به ارائه تعریف نوع result.data است. به همین ترتیب، نقطه پایانی روتر tRPC از قسمت جلویی، به عنوان مثال، پارامتر ارائه شده در پرس و جو، آگاه است.

به طور کلی، tRPC یک راه منحصر به فرد و فریبنده برای ساخت برنامه های TypeScript تمام پشته است. از زمان نگارش این مقاله، با نزدیک به ۲۰۰۰۰ ستاره در GitHub، مورد توجه جامعه توسعه دهندگان افزایش یافته است.< /p>

Bun.js: زمان اجرای سریعتر برای جاوا اسکریپت

Bun.js یک ستاره در حال ظهور در جاوا اسکریپت است زیرا به چندین جبهه در یک بسته حمله می کند. از خالق چارچوب جارد سامنر درباره انگیزه و انگیزه‌اش پرسیدم به ایجاد Bun امیدوار است.

Bun هم یک جایگزین کشویی برای زمان‌هایی مانند Node.js و Deno و یک جایگزین برای ابزارهای ثانویه مانند webpack، Vite است. ، و بابل. به سرعت به دلیل سرعت خیره کننده خود در اجرای bun install به عنوان جایگزینی برای npm install یا yarn install شناخته می شود. مزیت عملکرد Bun نتیجه خروج بیشتر کدها از جاوا اسکریپت و وارد کردن Zig و C++ سطح پایین تر است.

پردازش سریع Bun، همراه با رویکرد همه کاره آن، آن را به جایگزینی قانع کننده برای پشته های معمولی برای جاوا اسکریپت سمت سرور پشتیبان تبدیل می کند. توسعه‌دهندگان نیز به این چارچوب ۴۰۰۰۰ ستاره در GitHub تا به امروز اعطا کرده‌اند.

Civet: چارچوبی مدرن برای TypeScript

اگر TypeScript را بگیرید و آن را با برخی از ایده‌های موجود در CoffeeScript ترکیب کنید و در راه‌اندازی موارد زیبایی اضافی را با هم ترکیب کنید، چه؟ چیزی شبیه Civet دریافت خواهید کرد، چارچوبی که برای ساده‌تر و قدرتمندتر کردن نوشتن کد TypeScript طراحی شده است.

خالق Civet دانیل مور  خاطرنشان می‌کند که “شایعه‌ای وجود دارد که Civet CoffeeScript جدید است، اما شاید اینطور باشد یک چیز خوب. CoffeeScript کلاس‌ها، ساختارشکنی، async/wait، توابع پیکان، پارامترهای استراحت و موارد دیگر را به مشخصات رسمی جاوا اسکریپت آورده است.

جالب است که Civet خود را به تقویت TypeScript محدود نمی کند: JSX را نیز مصرف می کند. همانطور که Erik Demaine (توسعه‌دهنده پروژه مسئول بیشتر پیشرفت‌های JSX) اشاره کرد:

در فهرست ۱، می توانید یک مثال ساده از Civet در محل کار (برگرفته از مستندات Civet) را ببینید.

فهرست ۱. مثال ساده Civet


// Civet syntax
i .= 0
loop
  i++
  break if i > 5

// TS output
let i = 0;
while (true) {
  i++;
  if (i > 5) {
    break;
  }
}

فراموش نکنید که Civet می تواند JSX را نیز مدیریت کند! من همیشه احساس می‌کنم که نحو حلقه‌ای در JSX ناخوشایند است، (همچنین برای اطلاعات بیشتر به برگ چیت سیووت نگاهی بیندازید.)

Tabby: پایانه ای برای Node.js

باید اعتراف کنم که به کنسول‌ها و پوسته‌ها علاقه دارم. از زمانی که دنیای مخفی پشت بازی‌های Commodore 64 را کشف کردم که می‌توانم جرات BASIC را روی کنسول بریزم، با من بوده است. Tabby یک ترمینال پنجره‌دار و با امکانات کامل است که جایگزین برنامه‌های بومی مانند cmd می‌شود. ، powershell و ترمینال. همچنین SSH a la Putty و SFTP مانند WinSCP را کنترل می کند.

از خالق Tabby، Eugeny درباره تصمیم برای ایجاد یک برنامه ترمینال جدید پرسیدم.

Tabby همه چیزهای زیبایی را در اختیار شما قرار می‌دهد، مانند رنگ‌ها، کنترل ویژه کلیدها، و کپی/پیست کردن در پلتفرمی که در همه محیط‌ها ثابت می‌ماند.

Pixi.js: گرافیک پرفورمنس در جاوا اسکریپت

به Pixijs.com بروید و هنگام حرکت نشانگر روی تصویر پس‌زمینه، جلوه را مشاهده کنید. یک اثر مایع بسیار گران قیمت وجود دارد، اما به نظر نمی رسد تأثیر زیادی بر عملکرد داشته باشد. چگونه این کار را انجام دادند؟ البته با استفاده از کتابخانه Pixi.js!

Pixi یک API پیشرفته و عملکرد محور برای ایجاد رابط با WebGL و HTML5 Canvas به شما می دهد. Pixi مدتی است که وجود دارد و یک کتابخانه بالغ و پایدار است. می‌توانید بسته NPM را اینجا پیدا کنید.

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

وقتی با چارچوبی مانند Tauri ترکیب می‌شود، Pixi می‌تواند برای ساخت پلتفرم‌های دسکتاپ و موارد مشابه استفاده شود. می‌توانید با Pixi در زمین بازی Pixi آنلاین بازی کنید.

PM2: نظارت بر برنامه برای Node.js

به بیان دقیق، PM2 یک کتابخانه جاوا اسکریپت نیست بلکه یک سیستم گرا است ابزار ساخته شده در جاوا اسکریپت این یک ابزار نظارت بر برنامه بسیار کامل است که می توانید از آن برای انجام نظارت و مدیریت فرآیند پیچیده از خط فرمان استفاده کنید.

یونیکس دارای ابزارهای نظارت و مدیریتی مانند bg/fg، nohup و screen است، اما PM2 این کار را انجام می‌دهد. همه اینها و موارد دیگر در یک بسته کاربرپسند.

PM2 دارای چندین استراتژی های راه اندازی مجدد برای مدیریت تقریباً هر موقعیتی است. مثال‌ها شامل شروع بر اساس زمان CRON، راه‌اندازی مجدد خودکار در صورت توقف، و شروع زمانی که به معیاری (مانند مصرف حافظه) رسیده است. این شامل یک پرچم --watch برای راه اندازی مجدد در تغییرات فایل است.

اگر به ابزاری برای انواع نیازهای مدیریت فرآیند Node.js نیاز دارید، ارزش بررسی PM2 را دارد.