انتشار پلت فرم ، که یک چارچوب مستقل برای توسعه برنامه های کاربردی سفارشی چند پلتفرمی با استفاده از اجزای Chromium، V8 و Node.js به عنوان پایه ارائه می دهد. تغییر قابل توجه شماره نسخه به دلیل ارتقاء به codebase ، بستر، زمینه و موتور جاوا اسکریپت V8 7.3. قبلا پایان پشتیبانی از سیستمهای ۳۲ بیتی Linux انتشار فعلا به تعویق افتاده است
5.0 از جمله در ساخت های 32 بیتی
در میان در API های خاص الکترون:
- API به انتقال کنترلکنندههای ناهمزمان که قبلاً از تماسهای برگشتی استفاده میکردند به فرمی بر اساس مکانیسم ادامه میدهد. . پشتیبانی Promise به Cookies API و در app.getFileIcon، contentTracing اضافه شده است.[getCategories| شروع ضبط| stopRecording]، debugger.sendCommand،
shell.openExternal، webContents.[loadFile| loadURL| zoomLevel| zoomFactor] و win.capturePage. - امکان به دست آوردن اطلاعات در مورد رنگ های سیستم در اضافه شده است
macOS, используя вызовы systemPreferences.getAccentColor,
systemPreferences.getColor و systemPreferences.getSystemColor؛ - تابع process.getProcessMemoryInfo اضافه شده است که آمار مصرف حافظه را در فرآیند فعلی ارائه می دهد.
- ماژول "Remote" که مکانیسم IPC را برای تعامل بین فرآیند رندر صفحه فعلی و فرآیند اصلی نشان می دهد، قابلیت های اضافی برای فیلتر کردن درخواست های خارجی برای به دست آوردن کنترل کامل بر دسترسی به IPC اضافه کرده است. پشتیبانی فیلتر برای تماسهای remote.getBuiltin، remote.getCurrentWindow، remote.getCurrentWebContents و webview.getWebContents اضافه شده است.
- قابلیت مدیریت چندین نمونه BrowserViews از یک شی BrowserWindow را اضافه کرد.
- برنامههای کیسهدار تضمین میکنند که منوی برنامه بهطور پیشفرض اضافه میشود، حتی اگر برنامه بهصراحت منو را تعریف نکند یا کنترلکننده رویداد بستن پنجره را اضافه نکند.
- به طور پیشفرض، حالت جداسازی جعبه ماسهبازی مخلوط فعال میشود، که در آن فرآیند رندر در جعبه ماسهبازی شروع میشود.
- متغیر محیطی "ELECTRON_DISABLE_SANDBOX" برای غیرفعال کردن جداسازی جعبه ایمنی اضافه شده است، برای مثال، اگر برنامه قبلاً در یک ظرف مبتنی بر Docker در حال اجرا است.
- برای بهبود امنیت، تنظیمات nodeIntegration و webviewTag به طور پیش فرض غیرفعال هستند.
- API غلطگیر املا (Spellchecker) به حالت غیر مسدودکننده تغییر یافته است، که در آن نتیجه بررسی بهصورت ناهمزمان برگردانده میشود.
- منسوخ شده و در نسخه بعدی حذف خواهد شد:
فایل های اجرایی mksnapshot برای arm و arm64، ServiceWorker در WebContents، تماس های webFrame.setIsolated*، توانایی فراخوانی مستقیم ماژول های electron.screen،
فرآیند_کودک،
fs
سیستم عامل و مسیر (اکنون باید از طریق remote.require با استفاده از یک کنترل کننده در WebContents ایزوله فراخوانی شود).
یادآوری می کنیم که Electron به شما این امکان را می دهد که با استفاده از فناوری های مرورگر هر برنامه گرافیکی ایجاد کنید که منطق آن در جاوا اسکریپت، HTML و CSS تعریف شده است و قابلیت ها از طریق سیستم الحاقی قابل گسترش است. توسعه دهندگان به ماژول های Node.js و همچنین یک API توسعه یافته برای تولید دیالوگ های بومی، یکپارچه سازی برنامه ها، ایجاد منوهای زمینه، ادغام با سیستم اعلان، دستکاری پنجره ها و تعامل با زیرسیستم های Chromium دسترسی دارند.
بر خلاف برنامه های کاربردی وب، برنامه های مبتنی بر الکترون به صورت فایل های اجرایی مستقل ارائه می شوند که به مرورگر متصل نیستند. در عین حال، توسعه دهنده نیازی به نگرانی در مورد پورت کردن برنامه برای پلتفرم های مختلف ندارد؛ Electron توانایی ساخت را برای تمام سیستم های پشتیبانی شده توسط Chromium فراهم می کند. الکترون نیز فراهم می کند برای سازماندهی تحویل و نصب خودکار بهروزرسانیها (بهروزرسانیها میتوانند از یک سرور جداگانه یا مستقیماً از GitHub ارائه شوند).
از برنامه های ساخته شده بر روی پلت فرم Electron، می توان به ویرایشگر اشاره کرد ، سرویس گیرنده ایمیل ، یک جعبه ابزار برای کار با Git ، سیستمی برای تجزیه و تحلیل و تجسم پرس و جوهای SQL ، سیستم وبلاگ نویسی WordPress دسکتاپ، کلاینت بیتتورنت و همچنین مشتریان رسمی خدماتی مانند Skype، Signal، Slack، Basecamp، Twitch، Ghost، Wire، Wrike، Visual Studio Code و Discord. مجموع در کاتالوگ برنامه Electron 760 برنامه. برای ساده سازی توسعه برنامه های کاربردی جدید، مجموعه ای از استانداردها از جمله کدهایی برای حل مسائل مختلف.
منبع: opennet.ru
