Supported Environments
JSKit is designed to work equally well in browser based or node.js environments. In addition, code can easily be shared between the two because JSKit exposes the same API across environments.
Browsers | |
Node.js | |
Share code between environments |
Deployment
JSKit apps are automatically bundled and packaged to be compatibile with popular deployment methods.
Docker images for easy development | |
Docker images for production deoployment | |
Build NPM Packages |
Web Applications
Building a web application with JSKit feels like building a native application. Hard-to-use web standards are made easy via application-paradigm APIs.
Application-centric Design | |
Background Tasks | |
Offline Ability | |
Instant Load | |
Model-View-Controller Patterns |
Web Client Deployment
JSKit takes the hassle out of creating and deploying web applications by simply doing the right thing automatically out of the box.
Minified Javascript | |
Automatic Cache Busting | |
Zero Config Service Workers | |
Source Maps for better debugging |
Server Applications
Handle HTTP requests on a server with a modern application-focused HTTP server with built in features like WebSocets.
Application-centric design | |
Responder pattern for easy request handling | |
Seamless input validation | |
WebSocket Server | |
Background Tasks |
Serverless APIs
Handle HTTP requests on AWS Lambda via API Gateway.
Use Foundation, SecurityKit, and other JSKit frameworks | |
Input data validation | |
Build a deployment .zip file | |
Testable with TestKit |
Core Features
The foundation of JSKit is a framework that provides common functionailty that really should be available out of the box in Javascript.
Robust Class Model | |
Multiple named constructors for clarity | |
Failable object construction | |
Uncode Awareness | |
Word boundary awareness | |
Attributed Strings for customizable rich text | |
Powerful string formatting | |
String to Data encoding & decoding | |
Base64 and Percent-Escape encoding & decoding | |
Font Awareness | |
Text Layout & Typesetting | |
HTTP Requests | |
HTTP WebSocket Client |
Date & Calendar
Built in support and awarenes of calendars and timezones makes it easy to add Time & Date feature to your app.
Date Formatting | |
Time Zone Support | |
Calendar Support | |
Calendar Calculations |
UI Tooklit
JSKit includes a rich collection of UI elements and features to make apps that feel like a native desktop expierience.
Custom drawing support | |
Fully custom animations | |
Enhanced event model for richer user interaction | |
First-class drag and drop | |
Text input with any level of rich text | |
View-to-data two way bindings | |
Completely customizable styling | |
Movable, sizable, stackable, windows | |
Window toolbars | |
Multi-window scene management | |
Intelligent cursor management | |
Auto sizing menus with overflow support | |
Push Buttons | |
Popup/Dropdown Buttons | |
Checkboxes | |
Radio Buttons | |
Token Text Fields | |
Customizable Sroll Views | |
Tab Views | |
High Performance List Views | |
High Performance Nested Outline Views | |
Application Pasteboard | |
Undo Management | |
Customizable Activity & Progress indicators | |
Split Views |
Security & Authentication
Keep your users' data secure with best practice encryption, decryption, and verification.
Common encryption & decryption API | |
Hashing, Signing, and Verification | |
JSON Web Token validation | |
Authenticate users with OAuth | |
WebSocket Server | |
Private Client-Side Keychain |
Images & PDF
Create PDFs as easily as you can create a UI view. Even use the same exact code!
Read PNG and JPEG image data | |
Read PDF Documents | |
PDF Text Extraction | |
Draw to PDF documents | |
Share drawing code between UI and PDFs | |
Generate QR Code images |
Testing
Find bugs before deployment with a robust test framework that makes it easy to execute tests in any environment.
Unit Test Framework | |
UI Tests from command line | |
Headless browser tests from command line | |
Easy pipeline workflow integration |