قدرت الکترون برگرفته از فناوری وب است و هر آنچه که در آنجا امکان پذیر باشد، در اینجا نیز امکان پذیر است و خصوصیت برنامههای دسکتاپ را نیز داراست. الکترون به دلیل بارگذاری فایلهای html، به شما اجازه میدهد تا از ابزارهایی چون بوت استرپ و فریمورکها و کیتهای مشابهی چون جیکوئری و انگیولار، امبر Ember و ... در آن استفاده کنید. ولی با این حال، الکترون نوپا سعی دارد کیتهای اختصاصی خودش را هم داشته باشد، که در این مقاله به آنها اشاره میکنیم.
یکی از این کیتها، فوتون نام دارد. فوتون شامل یک سری css ,sass، فونت و قالبهای html است که به شما اجازه میدهد تا یک برنامه با ظاهری شبیه به برنامههای مک را داشته باشید. کامپوننتهای فوتون شامل tab ها، لیستها، منوی کناری، دکمههای معمولی یا جعبه ابزاری و کنترلهای فرمها میشود. با این حال اگر هم دوست ندارید که از این کامپوننتها استفاده کنید، میتوانید از layout های آن استفاده کند که پنجرهی شما را تقسیم بندی میکنند.
برای استفاده از فوتون لازم است آن را دانلود کرده و فایلهای آن را در پروژهی خود کپی کنید. دایرکتوری dist آن شامل یک مثال میشود که میتوانید آن را به داخل دایرکتوری پروژه خود کپی کنید؛ یا خود این دایرکتوری را به عنوان دایرکتوری پروژه تعیین کنید. بعد از آن، فایلهای موجود در دایرکتوری template را به داخل دایرکتوری والد، یعنی dist انتقال دهید و داخل فایل html، مسیر فایل css را تصحیح نمایید. فقط میماند که الکترون را بر روی این محل نصب کنید، یا اینکه الکترون نصب شدهی به صورت عمومی (Global) را در اختیار آن قرار دهید.
بعد از آن ممکن است با خطا مواجه شوید و وقتی فایل اصلی را که در اینجا نام آن app.js است، باز کنید، خطوط زیر را میبینید:
این نوع استفاده از ماژولهای داخلی، متعلق به نسخههای اولیه است و در نسخههای اخیر پشتیبانی نمیشود. پس بهتر است این خطوط را به صورتهایی که قبلا گفتهایم تغییر دهید.
سپس برنامه را اجرا کنید تا رابط جدید کاربری را ببینید.
فقط یک مشکلی هست و آن هم این است که باید فریم یا پنجرهای را که خود الکترون تولید میکند، حذف کنیم برای حذف آن میتوانید از خصوصیت frame در شیء Browser Window استفاده کنید:
در نسخههای 10 به بعد مک، از آنجاکه این خصوصیت، نه تنها فریم کرومیوم را حذف میکند، بلکه قابلیتهایی چون تغییر اندازه و ... را از آن نیز میگیرد، برای همین خصوصیت titleBarStyle را که به دو شکل هم میتواند نوشته شود، مورد استفاده قرار میدهیم.
حالا اگر برنامه را مجددا اجرا کنید، میبینید که قابهای دور آن حذف شدهاند، ولی با چند ثانیه کار کردن متوجه این ایراد میشوید که پنجره قابل درگ کردن و جابجایی نمیباشد. برای حل آن باید از css کمک بگیریم:
دستور بالا را به هر المانی انتساب دهید، آن المان و فرزندانش قابل درگ خواهند بود، ولی اگر المانی را با این خصوصیت تنظیم کردید، ولی قصد دارید که یکی یا چند عدد از المانهای فرزند این خاصیت را نداشته باشند، این دستور را به آنان انتساب دهید:
از آنجاکه در این رابط کاربری، نوار عنوان تگ مشخصی دارد:
با اضافه کردن این دستور css میتوانید به آن قابلیت درگ را بدهید:
حالا مجددا برنامه را تست کنید تا نتیجه کار را ببینید.
همانطور که میبینید با کمترین زحمت، به چنین رابط کاربری رسیدید. تصویر زیر متعلق به برنامهای است که در دو قسمت قبلی (+ + ) ساختیم و حالا با استفاده از این پکیج، ظاهر آن را تغییر دادهایم:
Electron UI Kit
دومین رابط کاربری که معرفی میکنیم در واقع یک کیت از یک سری کامپوننت است که بسیار شبیه به برنامههای دسکتاپ طراحی شده و شامل لیستها، گریدها، کنترلها و ... است که در دو فایل استایل، برای ویندوز و مک، مجزا شدهاند.
Maverix
یک استایل تحت وب به نام Maverix است که البته در مورد برنامههای دسکتاپ و الکترون حرفی نزده و خود را فریمورکی برای استفاده در برنامههای تحت وب معرفی کرده است. ولی از آنجا که کنترلهای موجود آن بر اساس سیستم عامل مک ایجاد شدهاند، به راحتی میتوانند خود را بجای برنامههای دسکتاپ جا بزنند. میتوانید دموی آن را نیز ببینید.
یکی از این کیتها، فوتون نام دارد. فوتون شامل یک سری css ,sass، فونت و قالبهای html است که به شما اجازه میدهد تا یک برنامه با ظاهری شبیه به برنامههای مک را داشته باشید. کامپوننتهای فوتون شامل tab ها، لیستها، منوی کناری، دکمههای معمولی یا جعبه ابزاری و کنترلهای فرمها میشود. با این حال اگر هم دوست ندارید که از این کامپوننتها استفاده کنید، میتوانید از layout های آن استفاده کند که پنجرهی شما را تقسیم بندی میکنند.
برای استفاده از فوتون لازم است آن را دانلود کرده و فایلهای آن را در پروژهی خود کپی کنید. دایرکتوری dist آن شامل یک مثال میشود که میتوانید آن را به داخل دایرکتوری پروژه خود کپی کنید؛ یا خود این دایرکتوری را به عنوان دایرکتوری پروژه تعیین کنید. بعد از آن، فایلهای موجود در دایرکتوری template را به داخل دایرکتوری والد، یعنی dist انتقال دهید و داخل فایل html، مسیر فایل css را تصحیح نمایید. فقط میماند که الکترون را بر روی این محل نصب کنید، یا اینکه الکترون نصب شدهی به صورت عمومی (Global) را در اختیار آن قرار دهید.
بعد از آن ممکن است با خطا مواجه شوید و وقتی فایل اصلی را که در اینجا نام آن app.js است، باز کنید، خطوط زیر را میبینید:
var app=require('app'); var BrowserWindow=require('browser-window');
سپس برنامه را اجرا کنید تا رابط جدید کاربری را ببینید.
فقط یک مشکلی هست و آن هم این است که باید فریم یا پنجرهای را که خود الکترون تولید میکند، حذف کنیم برای حذف آن میتوانید از خصوصیت frame در شیء Browser Window استفاده کنید:
if(process.platform=='darwin') { mainWindow= new BrowserWindow({ width: 1000, height: 500, 'min-width': 1000, 'min-height': 500, 'accept-first-mouse': true, 'title-bar-style': 'hidden', titleBarStyle:'hidden' }); } else { new BrowserWindow({ width: 1000, height: 500, 'min-width': 1000, 'min-height': 500, frame:false }); }
حالا اگر برنامه را مجددا اجرا کنید، میبینید که قابهای دور آن حذف شدهاند، ولی با چند ثانیه کار کردن متوجه این ایراد میشوید که پنجره قابل درگ کردن و جابجایی نمیباشد. برای حل آن باید از css کمک بگیریم:
-webkit-app-region: drag
-webkit-app-region: no-drag;
<header class="toolbar toolbar-header" >
<header class="toolbar toolbar-header" style="-webkit-app-region: drag">
همانطور که میبینید با کمترین زحمت، به چنین رابط کاربری رسیدید. تصویر زیر متعلق به برنامهای است که در دو قسمت قبلی (+ + ) ساختیم و حالا با استفاده از این پکیج، ظاهر آن را تغییر دادهایم:
Electron UI Kit
دومین رابط کاربری که معرفی میکنیم در واقع یک کیت از یک سری کامپوننت است که بسیار شبیه به برنامههای دسکتاپ طراحی شده و شامل لیستها، گریدها، کنترلها و ... است که در دو فایل استایل، برای ویندوز و مک، مجزا شدهاند.
Maverix
یک استایل تحت وب به نام Maverix است که البته در مورد برنامههای دسکتاپ و الکترون حرفی نزده و خود را فریمورکی برای استفاده در برنامههای تحت وب معرفی کرده است. ولی از آنجا که کنترلهای موجود آن بر اساس سیستم عامل مک ایجاد شدهاند، به راحتی میتوانند خود را بجای برنامههای دسکتاپ جا بزنند. میتوانید دموی آن را نیز ببینید.