همه چیز از سخنرانی رایان دال، سازندهی اصلی node.js در سال 2018 شروع شد، دال در این سخنرانی محوریت صحبتهای خود را روی معایب و مشکلات node.js و بستههای npm قرار داد و 10 موردی که نمیپسندید را نام برد. سپس deno را معرفی کرد و هدف ساخت آن را رفع مشکلات بیان شدهی node.js بیان کرد.
دینو در این چند سال رشد نسبتا خوبی داشته، هر روز بر پکیج هایش افزوده میشه و کامیونتی پشتش بزرگ تر. در این نوشته سعی میکنیم دینو را نصب کنیم کمی با دینو آشنا بشیم و اولین برنامه ی خود را با دینو بسازیم.
نکته: اگر علاقه دارید درباره ی مزایای دینو بدانید یا با ساختار و موارد دیگه ی دینو آشنا بشید میتوانید از نوشته های زیاد دیگر موجود در وب استفاده کنید، در این نوشته ما فقط روی ساخت یک برنامه ی ساده ی دینو کار میکنیم و درباره ی مفاهیم دینو زیاد صحبت نمیکنیم.
با نصب دینو شروع میکنیم:
برای نصب دینو کامند ذیل را اجرا میکنیم:
در لینوکس:
curl -fsSL https://deno.land/install.sh | sh
و در پاورشل ویندوز:
irm https://deno.land/install.ps1 | iex
به همین سادگی دینو در سیستم شما نصب شده است.
دینو با هردو جاوااسکریپت و تایپ اسکریپت سازگار است، بنابر این یک فایل به نام example.ts ایجاد میکنیم و متن ذیل را درون فایل مینویسیم (برای کار با دینو توقع میرود که شما اطلاعات قبلی از جاوا اسکریپت، به ویژه در مورد async/wait داشته باشید)
console.log("Welcome to Deno!");
فایل را سیو میکنیم و با کامند deno run example.ts فایل را اجرا میکنیم.
خروجی باید به شکل ذیل باشد:
Welcome to Deno!
برای ساخت وب سرور با دینو چندیدن فریمورک موجوده که میتوان از هرکدام استفاده کرد ولی در این نوشته از هیچ فریمورکی استفاده نمیکنیم و سعی میکنیم از پکیج http خود دینو استفاده کنیم.
پکیج http را امپورت میکنیم:
import { serve } from "https://deno.land/std@0.145.0/http/server.ts"
پورت رو تعریف میکنیم:
const port = 8080;
هندلر مینویسیم تا درخواست رو بگیره و جواب بده:
و در اخیر هم سرور:
await serve(handler, { port });
کل کد باید چیزی شبیه کد ذیل باشه:
حالا با دستو deno run hello_world.ts برنامه ی خودمان را اجرا میکنیم.
اگر همه چیز درست پیش رفته باشه با وارد شدن به ادرس http://localhost:8080 با پیغام Hello World مواجه میشید.
تبریک میگم شما اولین وبسایت خود را با دینو ساختید.
هدفم ازین نوشته فقط معرفی دینو بود و اینکه بگم امتحان کردن چیز های جدید اصلا ترس نداره، برعکس میتونه یک کار خفن و جذاب و باحال باشه.
اگر به دینو علاقه مندید و فکر میکنید در آینده جایگزن NodeJS قراره بشه، میتونین برید داکیومنت هاش رو بخونید، پیکج های ک براش نوشته شده رو ببینید و وب سرویس بعدیی خودتون رو با دینو بنویسید.
منم سعی میکنم در یکی دو نوشته ی دیگه یکم بیشتر با دینو کار کنم و شایدم یک وب سرور واقعی نوشتم.
لینک های مفید:
در ضمن، خبرنامه ی لاجورد منتشر شده (یک خبرنامه ی هفته گی که در هر شماره چندیدن نوشته ی برنامه نویسی + اخبار دنیای تکنالوژی + چند پروژه ی اوپن سورس جذاب با خود به همراه داره)، اگر علاقه دارید تا درین خبرنامه ثبت نام کنید، میتوانید از لینک ذیل استفاده کنید و خبرنامه ی بعدی خود را صبح دوشنبه در ایمیل خود دریافت کنید:
https://irgsilnmvjo.typeform.com/to/adibAL2s