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. 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 |
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 |
-> 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
It doesn't support modern syntax features like arrow functions, const variables and has the reserved words: delete/return even inside complex objects.
https://github.com/jonathantneal/flexibility - Flexbox Support
https://github.com/petkaantonov/bluebird - Promises Support