2020年2月10日 NanUI 0.7版正式发布。
回顾过去的一年,浑浑噩噩。生活上、工作上太多的压力和变数让我身心疲惫,目睹亲人被病痛的摧残的痛苦,无法释怀的生死别离令我沉沦许久;公司业务的变动,方向的调整,好基友的离职让我对未来的职业规划感到无比迷茫,太多的事情让我应接不暇,因此也搁置了NanUI项目的开发。在此向各位给予了NanUI期待的朋友表示深深的歉意。随着时间的流逝,不知不觉2019年的时光在我的生命中飞逝,一转眼来到了11月份,看着GitHub上空荡荡的Release Notes,我决定不能再让NanUI停滞下去,静下心,放空自己,于是又开始新一版NanUI的迭代,再加上此次武汉疫情的蔓延,公司无限期停工的前提下,终于花了近四个月的时间完成了此次新版本的迭代。此版本的迭代,基本上可以说是从底层上从新开始,整个项目基本重头编写:重写了承载窗口逻辑、尝试了将核心更换为CefGlue、借鉴了Chromely的API等等。经过初步的试用,也算是NanUI从无到有,从0.1到0.6以来比较满意的一次迭代。
0.7核心内容ChromiumEmbedded框架升级至77.1.18版本。
继续保留ChromiumFX作为NanUI的底层渲染核心。
重新了无边框承载窗口。
修改了NanUI初始化的方式,改用FluentAPI的方式书写启动过程。
重构了CefResourceHandler,实现了CustomResourceHandler的基本框架,方便用户自定义自己的资源处理器。
从NanUI中剥离了AssemblyResourceHandler和FolderResourceHandler,这两个资源处理器现在单独被分离成独立的项目维护。
新增了RESTfulResourceHandler资源处理器,使用RESTfulResourceHandler可以方便的向客户端提供各种数据,用户不再需要通过注入JS代码的方式给客户端提供数据,用ajax感觉更好。
重构了窗体呈现的逻辑,新版本中用户不再需要关注浏览器承载窗口的创建和设计,NanUI内部的工厂代替用户完成了这些工作。同时,也为将来跨平台留下了可实现的接口。
新增了对.NET CORE 3.1的支持。
完善了NuGet包,现在NanUI的依赖项目会自动根据目标项目的.NET的框架(.NET Framework / .NET Core)以及平台架构(x86/x64/AnyCPU)自动生成依赖项目的目录结构。
修正了0.6版中的各种BUG。
下面,我讲继续介绍0.7版的基本使用方法。
项目地址GitHub:https://github.com/NetDimension/NanUI/
Gitee:https://gitee.com/linxuanchen/NanUI
感谢您选用用于.NET Framework / .NET Core的NanUI开源框架!
NanUI是一个开放源代码的.NET项目,它适用于希望使用HTML5/CSS3等前端技术来构建Windows窗体应用用户界面的.NET/.NET Core开发人员。您可以使用任何您所熟悉的前端技术来搭建WinForm应用程序用户界面。
强烈建议您使用单页应用(SPA)模式来制作界面,因为这可以给用户带来更好的操作体验。主流的Javascript框架,比如Angular, React, Vue都是可以用来构架SPA应用的明智选择。
本框架将为您的软件界面设计工作带来无限可能。
开始使用 NanUI 开发环境要求构建NanUI应用程序,您的开发环境需要满足以下条件:
开发环境首选 Visual Studio 2019
如果您需要编译NanUI项目源码,您必须使用VS2019,因为只有VS2019能够编译.NET CORE 3.1项目源码。
您可以使用旧版本的Visual Studio(例如VS2012)来开发基于.NET Framework的应用程序。
如果您需要开发基于.NET Core 3.1框架的应用程序,目前来说您有且只有VS2019可供选择。
客户端运行环境 Windows 7 SP1及更高版本的Windows系统。
从NanUI 0.7版本之后,不再提供对Windows XP系统的任何支持,如需要开发针对Windows XP系统的应用程序,请继续使用0.6.2526版本。
NanUI的HighDPI自适应功能的实现需要Windows 10 Createors Update或者跟高版本Windows 10系统。
NanUI依赖项NanUI基于ChromiumFX开发,ChromiumFX是.NET的Chromium Embedded框架(CEF)的实现。
NanUI 0.7的运行需要依赖Chromium Embedded Framework (CEF) 77.1.18的二进制文件以及对应版本的ChromiumFX二进制文件。您可以选择手动下载或编译这些二进制文件,或者您也可以直接通过Nuget包管理器来自动安装这些依赖项。
手动下载或编译依赖项 Chromium Embedded Framework (CEF) 框架您可以从网站下载已经编译好的、对应版本的CEF二进制文件:
CEF 77.1.18+g8e8d602+chromium-77.0.3865.120 / Chromium 77.0.3865.120 - Windows x86
CEF 77.1.14+g4fb61d2+chromium-77.0.3865.120 / Chromium 77.0.3865.120 - Windows x64
如果您有丰富的CEF开发经验,您也可以根据CEF官方的指引自行编译CEF框架。自行编译CEF框架您可以加入更多的可定制功能。
ChromiumFX你可以从ChromiumFX项目的托管网站下载77.1.18.0版本的源码,根据指引编译x86架构和x64架构平台下的二进制文件:
libcfx.dll - Windows 32位
libcfx64.dll - Windows 64位
使用NuGet包管理器安装依赖项 PM> Install-Package NetDimension.NanUI.Runtime