معرفی Electron JS

احتمالا شما که سراغ این مقاله آمده اید دنبال جواب "الکتورون چیست؟" میگردید.خبر خوب این است که این مقاله شما را ناامید نخواهد کرد.

به بیان ساده Electron JS یک Framework زمان اجرا است که به کاربر امکان ساخت اپلیکیشن های مناسب دسکتاپ را با HTML5،Css و جاوااسکریپت می دهد و یک پروژه Open-Source است که توسط Cheng Zhao مهندس گیت هاب شروع شد و در واقع ترکیب دو تکنولوژی محبوب Node.JS و Chromium می باشد بنابراین هر وب اپلیکیشنی که شما نوشته اید را می توان با Electron JS اجرا کرد و بطور مشابه هر اپلیکیشنی که با Node.js نوشته اید می تواند از این تکنولوژی استفاده کند.

کی و چگونه Electron js ساخته شد؟

سفرJs Electron در ژانویه سال 2013 با جستجو ابزاری که بتوان با آن ویرایش متن Cross-Platform ساخت و کاربر بتواند با تکنولوژی هایی مانند جاوااسکریپت،HTML و CSS کار کند، شروع شد.

Electron در پانزدهمین روز ماه July سال 2013 به منظور توسعه راحت تر Cross-Platform برای ساخت “Atom” ،منتشر شد و در ابتدا به عنوان پوسته Atom شناخته می شد.

ویژگی های کلیدی Electron JS چیست؟

حال که بطور کلی با Electron JS آشنا شدید اجازه دهید سراغ ویژگی های آن برویم.

Electron JS از تکنولوژی های وب مانند جاوااسکریپت،HTML و CSS استفاده می کند و به مهارت های Native احتیاج ندارد مگر اینکه بخواهید کار های پیشرفته انجام بدهید. Electron می تواند تنها برای یک مرورگر طراحی شود و فایل سیستم آن نیز به API های Node.js تعلق دارد و روی لینوکس،مک و ویندوز کار می کند.

Electron از ماژول های npm که بطور گسترده در جاوااسکریپت استفاده می شود،استفاده می کند و یک منوی Native برای دیالوگ ها و اعلان ها دارد و همچنین امکان بروزرسانی خودکار و گزارش مشکل را نیز دارد. گزارش مشکلات به سرور اصلی برای ارزیابی های بیشتر فرستاده می شود. فعالیت های ارزیابی محتوا مانند دیباگ کردن توسط Chromium انجام می شود.

چرا باید به Electron اهمیت بدهیم؟

قسمت های سخت و خسته کننده ساخت اپلیکیشن های دسکتاپ، ساده سازی پکیج ها،نصب، بروزرسانی،ارائه پشتیبانی برای منو های Native و دیالوگ ها می باشد و در نهایت بهینه سازی اپلیکیشن با پیغام های خطا روبرو می شود. Electron JS تقریبا تمام این قسمت های حیاتی را انجام می دهد بنابراین کاربر می تواند روی اپلیکیشن خودش تمرکز کند.

 وقتی ما برای یک مرورگر وب اپلیکیشن می نویسیم درواقع کدی می نویسیم که روی کامپیوتر شخص دیگری اجرا خواهد شد و نمی دانیم که کاربر هدف ما از چه مرورگر هایی استفاده خواهد کرد این مرورگر می تواند آخرین نسخه ی Chrome یا یک نسخه ی قدیمی از اینترنت اکسپلورر باشد از این رو ما انتخاب های زیادی نداریم اما باید در تکنولوژی هایی که برای پیاده سازی انتخاب می کنیم و نوع کدی که می نویسیم محافظ کارانه عمل کنیم. زمانی که شما اپلیکیشن خود را با Electron می نویسید یک پکیج از نسخه های Chromium و Node.js دارید بنابراین شما تمام ویژگی های مورد نیاز برای این نسخه ها را دارید.

بررسی اجمالی معماری

حالا اجازه دهید یک نگاه کلی به معماری Electron داشته باشیم. اگر بگوییم که Electron js یک پیتزا است، Node.js خمیر آن است، Chrome پنیر آن است و موتور جاوااسکریپت بالاترین لایه است.

Libchromiumcontent

Chrome یک مرورگر وب Open-Source ساخته شده توسط گوگل است که یک پوسته ای برای وب است ورابط کاربری حداقلی دارد و از V8 به عنوان موتور جاوااسکریپت استفاده می کند. Libchromiumcontent کتابخانه رندر کردن Chromium است که Open-Source است و برای مرورگر chrome گوگل می باشد.

Node.js

Node.js یک جاوااسکریپت زمان اجرا است که از موتور جاوااسکریپتی V8 استفاده می کند و شما را قادر می سازد تا جاوااسکریپت را خارج از مرورگر اجرا کنید و همچنین یک پوسته تعاملی ارائه می دهد که در آن شما می توانید کد های خام جاوااسکریپت را اجرا کنید.

پروژه Node.js در ابتدا در سال 2009 به عنوان Open Source و Cross-Plarform زمان اجرا برای توسعه اپلیکیشن های سمت سرور با استفاده از جاوااسکریپت، منتشر شد.Node.js با یک Package Manager به نام npm همراه است که بزرگترین محیط برای کتابخانه های Open Source است.

موتور جاوااسکریپتی V8

موتور جاوااسکریپتی V8 نیز یک موتور جاوااسکریپت Open Source است که توسط گوگل توسعه یافته و با C++ و جاوااسکریپت نوشته شده است.

پروسه کار جاوااسکریپت به چه صورت است؟

پس از شناخت Electron و معماری آن اجازه دهید نحوه کار آن را بررسی کنیم. اپلیکیشن های جاوااسکریپت دو پروسه اجباری دارند، پروسه اصلی و پروسه رندر کردن.

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

از سمت دیگر پروسه رندر کردن توسط پروسه اصلی ایجاد می شود. پروسه رندر کردن UI اپلیکیشن را نمایش می دهد هر پروسه از معماری چند پردازشی Chromium بهره می برد و در Thread خودش اجرا می شود.

ابزار هایی برای توسعه دهندگان Electron JS

لیست زیر ابزار هایی هستند که Elecron JS برای ساخت یک اپلیکیشن به آن ها نیاز دارد.

Electron-prebuild:این ابزار باینری های از پیش ساخته شده ی Electron را برای دستوراتی که در npm استفاده می شوند را نصب میکند.

Electron-Compile:این ابزار از ES2015 ،CoffeeScript،LESS،SCSS در اپلیکیشن شما بدون کامپایل قبلی استفاده می کند.

Electron-Packager:این ابزار فایل ها را بسته بندی می کند و در اپلیکیشن شما توزیع می کند.

Devtron:این مورد یک افزونه از ابزار توسعه رسمی می باشد.

Spectron:این ابزار اپلیکیشن های Electron را با استفاده از ChromDriver تست می کند.

نتیجه گیری

امیدواریم به شما در فهم Electron JS از طریق بررسی ویژگی ها و ابزار های آن کمک کرده باشیم.

Electron JS اکثر اپلیکیشن های داینامیک که از مرورگر ما به عنوان پلتفرم برای ارائه ویژگی های تعبیه شده در آن و اتصال ما به مخاطبان بیشتر را انجام می دهد.

نظر شما

0 نظر

نظری ثبت نشده است