آیا می‌شه با نود.جی.اس. برنامه کلاینت ساید نوشت؟

امیر پرسیده:

سلام جادی .
من با تکنولوژی اشنا شدم که خودت میدونی چیه . node.js رو میگم. میخواستم بدونم میشه با این node.js نرم افزار هایی تحت دسکتاپ درست کرد. من جایی شنیدم که میشه همچین کاری کرد اما نتونستم اطلاعاتی به دست بیارم . من منطق خودم میگه میشه همچین کاری کرد . وقتی موتور جاوا اسکریپ روی مرورگر میتونه یک بازی رو کامپایل کنه پس ما وقتی این موتور رو ازش جدا کنیم و اون رو روی ویندوز یا هر پلتفرمی قرار بدیم . حالا هم میتوینم اون بازی رو کامپایل کنیم ولی این بار نه در مرورگر . ( به صورت ی برنامه ی معمولی ) که روی پلتفرم اجرا میشه .
شایدم من اشتباه میکنم ( فقط میشه باهاش سرور راه انداخت ) اگر در این باره اطلاعی داری ( در اختیارم بزار )..ممنون … منتظر جوابم .

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

همونطور که بالا گفتم، داشتن برنامه های دسکتاپ با نود.جی.اس. نیاز به این داره که ما یک موتور رندر اچ تی ام ال داشته باشیم (که بتونه صفحه رو گرافیکی نشون بده) و یک موتور جاوااسکریپت. پروژه‌هایی مثل node-webkit سعی کردن این دو تا رو در یک برنامه بذارن و به شما پنجره‌ای بدن که ظاهرش بیشتر از اونی که شبیه براوزر باشه شبیه پنجره معمولی برنامه ها باشه ولی اچ تی ام ال پنج و جاوا اسکریپت بفهمه. همین تلاش به شکل دیگه ای در پروژه node-qt اتفاق افتاده و اونجا سعی شده رابط گرافیکی qt به همراه nodejs بسته بندی بشه تا بشه برای دسکتاپ هایی از لینوکس تا مک تا ویندوز برنامه نوشت.

و آخرین نکته؟ این ابزارها هنوز کامل نیستن و جاوااسکریپت (و طبعا نود.جی.اس.) هم برای اینکار درست نشده. درسته که در آینده ممکنه همه اینکارها رو با جاوااسکریپت بکنیم ولی در این لحظه نود.جی.اس. هنوز برنامه دسکتاپ نوشتن نیست و اگر کسی سراغش می ره مشغول باحال بازی یا کشف آینده است یا استفاده از مهارت‌هاش برای راحت‌تر کار یا برعکس، استفاده از یک چیز نامناسب به منظور پیشرفت فنی.