Giter Site home page Giter Site logo

tchapp's People

Contributors

dudes-come avatar esrinzou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

tchapp's Issues

修复错误处理结构的bug

错误处理结构中,当TchErrorHandler::OnTchError方法被调用时弹出cmd窗口,该窗口弹出后无法被单独关闭,需要修复这个bug让其能正常关闭

添加错误检测

错误处理基本结构已建立,需用该结构添加错误检测代码

实现模板化标题栏

需求:
1.提供标题栏风格模板库,c# api可从模板库中选择具体的模板
2.最终用户可以自定义模板,扩充模板库
3.最终用户可以为每个窗口重写标题栏风格

实现完善的.cshtml解析方案

.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都需要做,还要提供各种技术组件和工具让用户根据自己的情况自由组合使用(估计这是最终方案)

添加更多的window管理api

现已实现以下API:
关闭窗口
(窗口打开api cef3自带,需要测试)
最大化窗口
最小化窗口
鼠标点击窗口标题栏移动窗口
恢复窗口
隐藏窗口
显示窗口
要求:api尽量和linux gtk兼容(可同时在windows和linux gtk中实现,并保持接口一致)

windows下最大化窗口后存在bug

1.最大化后会存在“脏屏幕”
2.最大化后无法通过点击任务栏图标最小化
3.最大化后点击最小化,再点击任务栏图标恢复,窗口溢出到任务栏背后

实现window下的异形窗体

要求html元素的透明和背景颜色属性能透到桌面,完全去除cef3的默认背景,让其全透,window tchclient已在过去测试中实现过该效果,现在需整理融入现有代码

实现完善的目标开发模式

现在已考虑的开发模式:
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版

windows版本c++代码已经更新,需要同步到linux版本,主要添加了window管理api,修改了TchStart入口参数,修改了部分cef3 win代码

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.