Going Further: NExS.app

In the previous tutorial we showed how easy it is to design and build a web app with NExS. Most of the work is done by the NExS platform, extracting the information from your spreadsheet to generate both the frontend and backend components needed to create the app. NExS needed just a little bit more information from you to create the app; specifically, the range of cells to be displayed in the browser, representing the frontend user interface (the view), and which cells within the view to configure as inputs to the app. For an app this basic the process was simple enough. However, NExS provides an alternative method to configure an app by adding a special worksheet named “NExS.app” to the spreadsheet. All of the app configuration options in the GUI editor are available through NExS.app, plus much more. (See the App Configuration documentation for all options.)

To configure the BMI Calculator app using a NExS.app worksheet, simply add a new worksheet to your BMI Calculator.xlsx spreadsheet and enter the following information in the first three rows:

A B C
1 app BMI Calculator
2 view Sheet1!a1:e8
3 inputs b3, d3, b5

The first row specifies that the name of the app as "BMI Calculator". The second row specifies that the view will be the block of cells Sheet1!A1:E8. The third row specifies that cells B3, D3, and B5 of the view will be the input cells.

When you upload a .xlsx file which contains a NExS.app worksheet, NExS will attempt to configure the app automatically from the specifications provided. Using NExS.app to configure your app has several advantages:

  1. It is easier to configure more complex apps with multiple views and many inputs.
  2. Having the configuration information embedded directly in the spreadsheet makes it easy to share apps, and to extend or modify them.
  3. NExS.app provides access to a very rich set of user interface extensions such as charts, buttons, checkboxes, and many others. There are also a number of options for protecting your app with passwords and access controls, and controlling how it may be shared. (See the App Configuration documentation.)