tnelab / tchapp Goto Github PK
View Code? Open in Web Editor NEWProvide a UI HTML5 for the dotnet core
License: MIT License
Provide a UI HTML5 for the dotnet core
License: MIT License
只需实现js api
如题,可能和标题范围的检测有关
错误处理结构中,当TchErrorHandler::OnTchError方法被调用时弹出cmd窗口,该窗口弹出后无法被单独关闭,需要修复这个bug让其能正常关闭
错误处理基本结构已建立,需用该结构添加错误检测代码
因为加了gtk的api,原来的文件也要加个win以统一命名
windows版本窗口偶尔会闪烁
需求:
1.提供标题栏风格模板库,c# api可从模板库中选择具体的模板
2.最终用户可以自定义模板,扩充模板库
3.最终用户可以为每个窗口重写标题栏风格
浏览器窗口
::SetWindowLong(hwnd_, GWL_EXSTYLE, ::GetWindowLong(hwnd_, GWL_EXSTYLE) | WS_EX_LAYERED/|WS_EX_TRANSPARENT/);
后会立即绘制黑色背景,暂时没找到方法禁止
目前未支持
.cshtml文件为asp.net mvc中的view文件,现需测试和寻找及实现一个,恰当的融合方案,
1)尝试通过t4调用Razor引擎预解析:
状态:已成功解析
缺点:
要求目标用户需了解基本的t4使用方法,并合理的运用
需为linux平台开发者,开发一个专门的命令行工具,来替代t4调用Razor引擎预解析
开发体验降低
优点:
项目运行时无Razor引擎依赖,实时性能最优
2)尝试实时调用Razor引擎解析并缓存:
状态:未尝试
缺点:
项目运行时增加Razor引擎依赖,可能性能损失过大(未测试,曾测试过无缝mvc加载,结果导致目标程序启动过慢,可考虑用初始等待界面改善体验)
优点:
cshtml无缝解析,开发体验最优
3)暂时没想到其他方案
要么分离:
t4使用很复杂么?
主要是不习惯和觉得没必要吧!
曾教过很多人使用t4,
他们最后要么不用,
要么经常忘记点转换
t4很容易被忽略,太没存在感了
不用t4改成带UI的工具?或者命令行工具?或者都提供?
要么集成:需克服性能损失的缺点
安装时安装程序预生成缓存?
程序第一次启动时执行初始化?
要么用户自己选择分离还是集成或者都选:分离工具,集成api都需要做,还要提供各种技术组件和工具让用户根据自己的情况自由组合使用(估计这是最终方案)
用于获取窗口位置和大小
现已实现以下API:
关闭窗口
(窗口打开api cef3自带,需要测试)
最大化窗口
最小化窗口
鼠标点击窗口标题栏移动窗口
恢复窗口
隐藏窗口
显示窗口
要求:api尽量和linux gtk兼容(可同时在windows和linux gtk中实现,并保持接口一致)
1.最大化后会存在“脏屏幕”
2.最大化后无法通过点击任务栏图标最小化
3.最大化后点击最小化,再点击任务栏图标恢复,窗口溢出到任务栏背后
要求html元素的透明和背景颜色属性能透到桌面,完全去除cef3的默认背景,让其全透,window tchclient已在过去测试中实现过该效果,现在需整理融入现有代码
使用后会导致dlopen无法加载tchmain.so
原因未知,待解决
如题
windows版本启动时窗口会黑下屏
只需提供js api就可以
关闭3d加速正常,还需要进一步调查
书写各种demo,反馈需求
如题
如题 windows和linux都需要支持
现在已考虑的开发模式:
1)支持库模式:已js未主,c#只提供必要的支持,相当于用c#写支持库扩展js功能
实现简单,逻辑清晰
2)bs模式:
完全把项目当作浏览器和web server部署在同一台机器上跑的情况,其他和传统bs开发方法一致
项目天生支持该模式
3)事件驱动模式:模仿winform开发模式,以c#为主,c#能直接操作cef3窗体和dom。
4)mvvm模式:利用js的mvvm库,加上自动化代码生成或实时编译生成,自动处理js,c#交互,开发者无需关心js,c#互操作,以关注c#开发为主。技术方案已有,未测试,需完善。
5)mvc模式:c#为主,js为辅,完全把js当作view来用,加上自动处理js,c#交互的技术。技术方案已有,未测试,需完善。
6)混合模式
3)4)5)都依赖“js,c#交互自动处理交互技术”,需找到改恰当实现方式
各个方案都需大量的技术实验和测试
所有模式都相互分离,做成可选组件,主项目,只保留基本的js,c#交互和window管理api,其他组件从这些api扩展,封装,自动化,而来。
linux版本已可用cmake编译,但是windows版本目前还不行
无法通过点击任务栏图标最小化
要求html元素的透明和背景颜色属性能透到桌面,完全去除cef3的默认背景,目前暂无实现方案
如题
windows版本c++代码已经更新,需要同步到linux版本,主要添加了window管理api,修改了TchStart入口参数,修改了部分cef3 win代码
api签名:SetWindowPos(int x,int y,int width,int height)
用于设置窗口位置和大小
如题,拖到屏幕边缘时会出现
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.