Version 6

From NSB App Studio
Jump to navigation Jump to search

Version 6.0.0

Version 6 has not been released. Here's a list of changes in Version 6. All items are subject to change.

If you own a previous version of AppStudio, you need to buy the upgrade to use Version 6. You can do this from within the app or from our order form.

Until you have bought the upgrade, you can use AppStudio 6 in Demo mode for up to 30 days. Once you buy, your copy will convert automatically to the full version.

Major New Features

  1. Bootstrap framework added. Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web. It's well thought through and is easy to use with AppStudio. For more information, see Introduction to Bootstrap.
  2. Support for Google Drive API. Now you can access files on your Google Drive from AppStudio. One interesting application is to use Google Spreadsheets as a database for your app. You can add, delete and update rows in the spreadsheet from AppStudio.
  3. Nested controls: Up till now, you could only put controls one level deep in Containers. Now you can put Containers inside of Containers - and there are more controls which can act as containers. Any level of nesting is possible.
  4. Support for Stripe Payments: Stripe is an easy way for your app to get payments by credit card. No special bank account is needed.

IDE - General

  1. Mac: AppStudio can now be executed by any user.
  2. Save preserves the entire environment, not just the app itself.
  3. View Menu: checkmarks are now updated properly.

Code Window

  1. Code version bumped to 6. Projects will take longer to compile first time they are run.
  2. Statements with the word 'Declare' in them are translated properly.
  3. JavaScript: Property Window Event does not create new event handler if one exists.
  4. JavaScript: Shows all functions in the Functions window.
  5. Obsolete properties are being cleaned out of .nsx files in new code version. Keep a backup!
  6. BASIC indentation while editing improved.

Design Screen

  1. Copying a container now renames the children to unique names.
  2. Rotate screen refreshes properly.

Toolbox

A lot of cleanup was done to controls. Refactoring was done in the Toolbox files to reuse common code and make controls more constant.

  1. All controls have new icons.
  2. AppStudio controls have purple icons.
  3. Attribute property is now an edit window.
  4. Container: New font and margin properties.
  5. Controls which act as Containers now have an addChild() function.
  6. Image: New border and margin properties.
  7. Label: New border and margin properties.
  8. Label: Proper cursor now appears when hovering over control.
  9. Label: Width defaults to auto, based on actual text.
  10. New Header control. Simple, lightweight form header.
  11. New Stripe control. Accept Stripe payments in your app.
  12. PictureBox: New color, font and margin properties.
  13. Property Files added for ToolBox Files. Recurring properties now easier to create and are more consistant.
  14. Property Files: Fonts, borders, colors and more are in property files.
  15. Property Files: Parts of Page.js moved into property files (Chrome, PhoneGap)
  16. ToolBox Files: new ! operator allows properties to be evaluated within properties.

Project

There are a number of changes to Project Properties. The most visible is that the user will no longer be asked if a new version of the app should be installed - it just happens, unless the newVersionWarning property is set to true. Setting FastClick to false will make your app smaller and a bit faster to load. Setting enableBrowserArrows to false will give your app a shorter URL.

  1. Properties: enableAppScrolling: needs to be true for jQM Swipe.
  2. Properties: enableBrowserArrows now defaults to false.
  3. Properties: Fastclick defaults to false. Most browsers don't need it anymore.
  4. Properties: New BootstrapTheme property.
  5. Properties: New contentSecurityPolicy property.
  6. Properties: New newVersionWarning property: If false, new version of your app simply loads in browser.
  7. Properties: 'theme' renamed 'jQueryMobileTheme'.
  8. Properties: StopOnError works properly at runtime.

Forms

  1. New Project: Form type added for Responsive Forms. Forces relative positioning.
  2. Properties: OpenMode behaves properly at runtime. (Set this one to false if your form appears incorrectly at startup.)

Runtime

  1. hfunc.js no longer uses eval() function.
  2. NSB.Print window closes more easily: tap anywhere on it.
  3. HTML is deprecated.

Deploy

We've reorganized how the project is written out when deployed. Operationally, everything works as before. When you open the project in the Chrome Debugger, you'll notice the differences. Your code is now in a file of its own called code.js. All the code generated by AppStudio stays in index.html. Any JavaScript code modules are kept as discrete files instead of being loaded into index.html. The result is that it will be much easier to find your work in the deployed project.

We've also fully implemented https for all our web services.

  1. Many changes to runtime code organization to make code more readable and easier to debug.
  2. All script tags are now in head.
  3. BuildStatus: Now defaults to same download location as previous time.
  4. Chrome icons work when ChromeSpashscreen is true.
  5. ChromeManifest.json simplified with just icon 192x192.
  6. Deploy to AppStudio Server now uses https.
  7. External scripts remain as external scripts: they do not get included in main app.
  8. If obfuscation fails due to syntax errors, AppStudio recovers gracefully.
  9. JavaScript code modules are no longer merged in index.html, to make generated app easier to read and debug.
  10. Open app after local deploy fixed.
  11. Remove iOS startup image code - no longer supported in iOS.
  12. Unicode in deploy path should work now.
  13. User code is now deployed to its own module called code.js, loaded by index.html.

PhoneGap

We've made a number of changes to make PhoneGap easier to use. The workarounds which were needed to deal with new features of PhoneGap or new browser requirements are now included. The new QR code on the BuildStatus screen is a big timesaver!

Changes to configxml will not be applied automatically. Grab a fresh configxml from a new project and paste it into your existing project to get all the latest features.

  1. 'No content-security-policy' warning no longer needs a workaround.
  2. New properties added so Status Bar workaround no longer needed.
  3. BuildStatus: Now displays QR Code to download directly to Android device.
  4. JDBC Plugin added for remote database access from Android devices.
  5. Names of icons and splashscreens normalized with PhoneGap docs.
  6. minVersion removed from configxml template.
  7. Patch to get rid of period PG puts at start of download filename.
  8. PhoneGapBarcode sample needs PhoneGap version set to cli-6.1.0
  9. Samples updated to latest PhoneGap specs.
  10. SplashScreen workaround no longer needed.
  11. Support for more screen sizes/densities added.
  12. Update whitelist on all samples.
  13. Whitelist workaround no longer needed.
  14. Zeppelin supported for generating icons and splashscreens.

Bootstrap Framework

  1. Bootstrap is a modern, responsive framework. See Introduction to Bootstrap.
  2. All Bootstrap icons are deep purple.
  3. 23 new controls!

jQuery Mobile Framework

  1. All jQM icons are now orange
  2. Button: width defaults to auto, adjusts in size to text.
  3. For jQM swipe to work, enableAppScroll in Project Properties must be true.
  4. List: inconsistency in naming of value fixed. Always a string now.
  5. Select: Add country picker.

jqWidgets Framework

  1. All controls: Added WindowsPhone theme.
  2. jqWidgets icons are blue.
  3. jqwPasswordInput: Add missing icon.
  4. jqxComboBox: Add onselect event.
  5. jqxComboBox: Add some missing files to manifest.
  6. jqxDragDrop: fix disabled property.
  7. jqxListBox: add filterable and filterPlaceHolder properties.
  8. jqxScheduler: New control added.

Samples

  1. Ajax samples: paths to server simplified.
  2. BarCode: URLs updated.
  3. Compass sample now works on Android too.
  4. New GetUserMediaCamera sample.
  5. New GoogleSpreadsheet sample.
  6. New HeaderBodyFooter sample.
  7. New PhoneGapUDP sample.
  8. New SelectCountry sample. Uses jQM Select control.
  9. New Stripe sample: Accept Stripe payments.
  10. Samples no longer reference jQM Theme 'c'.
  11. ServerStorage: improve checking to see if implemented.
  12. Signature sample fixed on Edge.

Documentation

  1. Wiki now has most of the changes for Version 6.
  2. Translation files are still in progress.
  3. Slovenian is complete. (Thanks, Oton!)
  4. Thai is complete (Thanks, Theprasit!)
  5. Turkish is complete (Thanks, Bahattin!)

Internals

  1. All NS BASIC websites now support https:
  2. App and License folders reorganized.
  3. Code signing certificate updated.
  4. Copyright changed to 2016.
  5. DropDMG (used to Build Mac Installer) updated to 3.3.
  6. iScroll updated to 5.2.
  7. Wx updated to 3.0.

Breaking Changes

  1. HTML deprecated. You can't put blocks of HTML in the middle of your code anymore. There are better ways to do this.
  2. Projects saved in AppStudio 6 cannot be opened in AppStudio 5. Keep a backup!
  3. If you want to return to AppStudio 5, do an uninstall of AppStudio 6 before installing AppStudio 5.
  4. The first time you deploy your AppStudio 6 app to your server, do a Full Deploy so all the updated files get copied.