/Htapps.NET

Htapps is a HTML/CSS/JS provider to ease the development of simple applications that can run as windows programs. Made in .NET

Primary LanguageJavaScript

Htapps

Htapps is a HTML/CSS/JS provider to ease the development of simple applications that can run as windows programs. Made in (.NET). Currently in Alpha [1.1.0]. (Discontinued) You can check CHANGELOG.MD for more informations.

Usage

To get started in the Htapps development you can clone the repository and go to /src/htapps-project/. In the folder it is possible to change the entire content of "src" and when the project is finished, just run the build command that is at the root of the project, the result will be in the output folder.
Note: The current version is a development version, in the future there will be a special CLI environment to control the build.

Features

Currently the Htapps runtime environment supports most of the modern functionality of JavaScript ES5+ and some CSS3 features. It's possible to check all the current features in the tables below:

JavaScript

Feature Usability State Added in version Deprecated?
Set Working with limitations Alpha 2 No
window.fetch API Working with limitations Alpha No
Function.prototype.bind Working Properly Alpha No
ES5+ Object/Date/String Management Working Properly Alpha No
document.querySelector/querySelectorAll Working Properly Alpha No
AddEventListener API Working Properly Alpha No
String.json Working Properly Alpha No
JSON.parse/stringify Working Properly Alpha No
local/sessionStorage Working Properly Alpha No


CSS

Feature Usability State Added in version Deprecated?
Flexbox (display: flex | -appkit-display: flex) Working with limitations Alpha No

Htapps environment functions

Name Arguments Description
window.close - Finishes the application
window.setIcon string: path Changes the application icon
window.setTitle string: title Changes the application title
window.resizeScreen int: x, int: y Defines if resize is enabled in the application
window.lockResize bool: lock? Defines if resize is enabled in the application
window.minimizeScreen - Minimize the application screen
window.maximizeScreen - Maximize the application screen
window.lockMaximize bool: lock? Defines if maximize option is enabled in the application
window.lockMinimize bool: lock? Defines if minimize option is enabled in the application
window.alert string: message?, string: title? Shows a message box in the screen
window.console.output[] - Returns the current console output
window.console.log args[string...] Create a log instance in the console
window.console.error args[string...] Create an error instance in the console
use string: [/environment/+path] Import a script dinamically
useStyle string: [/environment/+path] Import a css file dinamically

TODO [v1.2+]

-> Hardcode polyfills in .NET modules to improve performance and other factors;
-> Make an object scripting API to access various features of .NET environment;
-> Make an system management API to access Windows features and management (authorized mode);
-> Decent Display Flex Support (currently working with problems);
-> Display Grid Support;
-> Make example applications to show the usage of HTAPPS;
-> External media reading support/review (.XLSX, .DOCX, .PPTX, Video/Audio types...);
-> Disable DLL output in build to promote more portability

Limitations

It doesn't support modern syntax features like arrow functions, const variables and has the reserved words: delete/return even inside complex objects.

External Libraries

https://github.com/jonathantneal/flexibility - Flexbox Support
https://github.com/petkaantonov/bluebird - Promises Support