NGClient is one of the ways to deploy Solutions to end users.
NGClient is a browser-based application of which the UI is rendered in the browser using pure HTML, CSS and a bit of JavaScript for event handling and communication with the Servoy Application Server (HTML5, CSS3 and websockets communication is used). The business logic of the Solution that is running in the NGClient is executed on the Application Server for security reasons: the code of the business logic is not exposed in the webpage markup.
In This Chapter
War deployment
War deployment is the only option for an NGClient, because a lot more resources are needed then just the solution.
In the export dialog you have get the option to select the webcomponents and services that you want to include in the generated WAR file. All the components and services you use in your solution (directly in the designer or solutionmodel/scripting) should be checked and exported.
For more info about war deployment: WAR Deployment
NGClient needs a besides a browser that supports websockets also a application server that supports websockets (JSR-356 implementation)
Supported Browsers
NGClient needs HTML5, CSS3 and WebSocket support so it will run on any browser that supports these. Some supported browsers are:
- Internet Explorer 10 and beyond
- Firefox 11 and beyond
- Chrome 16 and beyond
- Safari 7 and beyond
- Opera 12 and beyond
Most of the browser supporting WebSocket also support HTML5 and CSS3. To see a full list of browser supporting the WebSocket see WebSocket support.
Starting Servoy NG Clients
Servoy NGClients run in a browser and can be started by accessing a URL on the Servoy Application Server.
Web Client Start URL | What is does |
---|---|
{serverURL}/solutions/{mySolutionName}/index.html | Opens the specified solution |
{serverURL}/solutions/{mySolutionName}/index.html?a={value} | Opens the specified solution. The argument value is passed into the Solutions onOpen event handler. |
{serverURL}/solutions/{mySolutionName}/index.html?a={value}&{name1}={value1}&{name2}={value2} | The same as the previous scenario, but with additional custom keys for additional arguments |
{serverURL}/solutions/{mySolutionName}/index.html?m={myMethodName} | Opens the specified solution and executed the specified method after the solution is opened |
{serverURL}/solutions/{mySolutionName}/index.html?m={myMethodName}&a={value} | The same as the previous scenario, but specifying a single value to be passed as an argument into the onOpen event handler and deeplink method |
{serverURL}/solutions/{mySolutionName}/index.html?m={myMethodName}&a={value}&{name1}={value1}&{name2}={value2} | The same as the previous scenario, but with additional custom keys for additional arguments |