Chromely

Chromely is a lightweight alternative to Electron.NETElectron for .NET/.NET Core developers.

Chromely is a .NET/.NET Core HTML5 Chromium desktop framework. It is focused on building apps based on Xilium.CefGlueCefSharp implementations of embedded Chromium (CEF) without WinForms or WPF. Chromely uses Windows and Linux native GUI API as "thin" chromium hosts. It can be extended to use WinForms or WPF.

With Chromely you can build Single Page Application (SPA) HTML5 desktop apps with or without Node/npm. Building SPA apps using javascript frameworks like Angular, React, Vue or similar is easy. You can use Visual Studio Code or any IDE you are familiar with as long as Chromely knows the entry html file from the compiled/bundled files. For more info please see - Chromely-Apps.

Options of communicating (IPC) with rendering process are via:

  1. .NET/Javascript integration (CefSharp) - more info @ Expose .NET class to JavaScript.
  2. Generic Message Routing (Xilium.CefGlue) - more info @ Generic Message Routing.
  3. Ajax HTTP/XHR (Xilium.CefGlueCefSharp) - more info @ Custom Scheme Handling.
  4. Real-time with Websocket (ws) (Xilium.CefGlue) - more info @ Real-time with Websocket.

Roadmap & Help Wanted

If you like Chromely, please give it a star - it helps!

Have a quick question? Wanna chat? Connect on 

Have an app/project/tool using Chromely - please share!

Platforms

Cross-platform - Windows, Linux. Built on CefGlue, CefSharp, NET Standard 2.0, .NET Core 2.0, .NET Framework 4.61 and above.

Platform CefGlue.Winapi CefGlue.Gtk CefSharp.Winapi
Windows(1) 32-bit net461, netstandard2.0 net461, netstandard2.0 net461
Windows(1) 64-bit net461, netstandard2.0 --- ---
Linux(2) 32-bit --- netstandard2.0 ---
Linux(2) 64-bit --- netstandard2.0 ---
MacOSX(3) 64-bit --- --- ---
Linux ARM(4) --- netstandard2.0 ---

(1)  Windows 7, Service Pack 1 and newer
 (2)  Ubuntu 16.04 and newer
       (Mono currently not working, window resizing not working)
 (3)  Work in progress...
 (4)  i.e. Raspberry Pi 3+
       (manual download of CEF builds for ARM available on http://chromely.org/cefbuilds/index.html)

For more info/documentation, please check Chromely wiki.

   

 
 

Demo Code

Get started with the demos.

Creating a Simple App (Using CefGlue with Winapi host)

For more info see - Getting Started

Notes on Upgrade to CefGlue version 70 and CefSharp version 71 (Chromely v4) - Please see.

class Program
{
static int Main(string[] args)
{
var startUrl = "https://google.com"; var config = ChromelyConfiguration
.Create()
.WithHostMode(WindowState.Normal, true)
.WithHostTitle("chromely")
.WithHostIconFile("chromely.ico")
.WithAppArgs(args)
.WithHostBounds(1000, 600)
.WithStartUrl(startUrl); using (var window = ChromelyWindow.Create(config))
{
return window.Run(args);
}
}
}

Run Starter Template (Using dotnet core cli). For more info, please see - dotnet cli demo template install

dotnet new -i "Chromely.CefGlue.Win.Template::*"
dotnet new chromelywin
dotnet restore
dotnet chromelycef.dll download v70 --cpu=x64 --dest="bin\Debug\netcoreapp2.1"
dotnet build
dotnet run

Chromely Demos

For more info on demos - Demos 

References

Contributing

Contributions are always welcome, via PRs, issues raised, or any other means. To become a dedicated contributor, please contact the Chromely team or raise an issue mentioning your intent.

License

Chromely is MIT licensed. For dependency licenses please see.

Credits

Thanks to JetBrains for the OSS license of Resharper Ultimate.

Improved and optimized using:

最新文章

  1. Operational Amplifiers
  2. mysql 函数(二)
  3. C#通用类Helper整理
  4. 【56测试】【字符串】【dp】【记忆化搜索】【数论】
  5. vector的 emplace 和 insert 以及使用vector进行iterator遍历 且 erase的时候注意事项
  6. 六、IO流——文件
  7. 从字节理解Unicode(UTF8/UTF16)
  8. JDBC学习入门
  9. 解决Xcode7之后发送网络请求http格式不支持报错问题
  10. OpenCV ——背景建模之CodeBook(2)
  11. 给php代码添加规范的注释phpDocumentor
  12. jquery判断文本框输入的是非数字内容(交流QQ群:452892873)
  13. SpringBoot的配置文件加载顺序和使用方式
  14. 2015 多校联赛 ——HDU5349(水)
  15. numpy/pandas时间互相转换
  16. company_credit
  17. NetSec2019 20165327 Exp6 信息搜集与漏洞扫描
  18. SQL Server性能优化(12)非聚集索引的组合索引存储结构
  19. prop和attr的比较
  20. AtCoder Grand Contest 010 D - Decrementing

热门文章

  1. Timer的利用
  2. LNMP小项目搭建,Centos7.6环境搭建Linux+nginx+mysql+php,wordpress个人博客的搭建(完整搭建步骤)
  3. VB中输入函数InputBox的用法
  4. python的java胶水(jpype1)
  5. pandas的数据统计函数
  6. Git Fast Forward 和 no fast foward
  7. oozie与hue整合 执行WC案例报错: 连接10020端口被拒绝
  8. this 指向图
  9. LOJ bitset+分块 大内存毒瘤题
  10. python基本数据类型常用方法