Version 7: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Major New Features ==
== Major New Features ==
# Multifile support: The way projects are save has been reorganized. The main .project file just contains values for project properties. All code, HTML and other text entities are now stored as separate folders and files.
# [https://blog.nsbasic.com/2018/10/as7-new-multifile-project-format/ Multifile Projects]: We've reorganized how projects are saved. The main .project file just contains values for project properties. All code, HTML and other text entities are now stored as separate folders and files.
# The Project Folder is the Project. All files for a project are now stored in the project folder. Two projects cannot share a folder. If you need to share files between project, use symbolic links.
# One Project Per Folder: All files for a project are now stored in one project folder. Two projects cannot share a folder. (If you need to share files between project, use symbolic links.)
# Bootstrap 4 support added. [[Bootstrap 3 vs Bootstrap 4|See what's different from Bootstrap 3.]]
# Bootstrap 4 support added. [[Bootstrap 3 vs Bootstrap 4|See what's different from Bootstrap 3.]]
# [[GitHub]] Support: AppStudio projects are now GitHub compatible.
# [[GitHub]] Support: AppStudio projects are now GitHub compatible.
# [[GitHub|Version control]]: You can now use git (or other utility) for version control.
# [[GitHub|Version control]]: You can now use git (or other utility) for version control.
# [[GitHub|Team Development]]: The combination of multifile and GitHub allows a team of developers to work on the same project.
# [[GitHub|Team Development]]: The combination of Multifile and GitHub allows a team of developers to work on the same project.
# External Editing: Having all code, HTML, etc. in separate files allows the use of other editors.
# External Editing: Having all code, HTML, etc. in separate files allows the use of other editors.
# Toolbox reorganized: All framework related files are now in folders for that framework.
# Toolbox reorganized: All framework related files are now in folders for that framework.
# Advanced syntax checking for JavaScript in the Code Window.
# Eslint: Advanced syntax checking for JavaScript in the Code Window.
# [[Internationalization (i18n)|Internationalization]] lets your app work in multiple languages.
# [[Internationalization (i18n)|Internationalization]] lets your app work in multiple languages.
# You can make PDF files from your forms for emailing, etc.
# PDF files: You can make PDF files from your forms for emailing, etc.
# [[Validation]] allows you to automatically check the contents of forms.
# [[Validation]] allows you to automatically check the contents of forms.
# node.js can now be used in AppStudio projects.
# node.js can now be used in AppStudio projects.
Line 20: Line 20:
If you like would to try it first, download from the 'Check for Updates' screen in the Help menu. You'll get a demo copy.
If you like would to try it first, download from the 'Check for Updates' screen in the Help menu. You'll get a demo copy.


== Version 7.0.3 (not released yet) ==
# Deploy: [[Babel]] option transpiles code for compatibility with other browsers.
# [[Properties Window|Properties]]: New project properties to control Babel.
# Deploy: Problem importing .bas files fixed.
# [[Preferences]]: New preference for auto save on run. Defaults to true.
# [[Build Native App|PhoneGap Status]]: Can no longer be started more than once.
# [[Make Windows Executable|MakeEXE]]: Default AppStudio icon used if none supplied.
# [[Eslint|eslint]]: Icon added to top of [[Code Window]] for JavaScript.
# eslint: Always bring the window to the front when invoked.
# eslint: Close window if new code in Code Window.
# [[Properties Window|Properties]]: Implementation of enableAppScrolling updated for Android Chrome.
# BS: [[Form|form.reset]]() now works on Bootstrap (3 and 4) controls.
# [[Label (Bootstrap)|BS4 Label]]: Appearance property fixed.
# [[Button (Bootstrap)|BS4 Buttons]] have a new toggleControl option to hide/show another control.
# BS4 [[Modal (Bootstrap)|Modal]]: Values can now be set using HTML, not just text.
# [[jqxPhotoGallery]]: Editor window now appears for editing photos property.
# [[jqxScheduler]]: Add a couple of missing icons.
# jqxScheduler: Sample improved.
== Version 7.0.2 ==
# Controls: [[jqxGrid]]: Problem with 'ready' property fixed.
# Deploy: Problem with [[Obfuscation]] fixed.
# [[Design Screen]]: MsgBox errors no longer display.
# Design Screen: Remove "Settings" from Add Control list.
# IDE: Export of external files fixed.
# Language files updated.
# Samples: BS4 Input fixed.
# Samples: Leaflet updated to use the latest libraries.
# Samples: StockQuote removed. Yahoo deprecated the API which it used.
== Version 7.0.1 ==
# Language files updated. Arabic, Portuguese, German and Spanish complete. (A few more are almost done.)
# Save As: Some redundant files and folders no longer created.


== Version 7.0.0 ==
== Version 7.0.0 ==


Version is still under development. Here's a list of what is new: All items are subject to change.
Here's a list of what is new!


If you own a previous version of AppStudio, you need to buy the upgrade to use Version 7. You can do this from within the app or from our order form.
If you own a previous version of AppStudio, you need to buy the upgrade to use Version 7. You can do this from within the app or from our order form.
Line 33: Line 67:
# Only changed files are written out on save - saving is faster.
# Only changed files are written out on save - saving is faster.
# App's 'description' property shows in the Help Window when Project Properties is selected.
# App's 'description' property shows in the Help Window when Project Properties is selected.
# Hidden non-modal windows can be brought to front using the View menu.
# Script windows now show the title of the property being edited.
# New obfuscation property for Code Modules


===Code Window===
===Code Window===
Line 44: Line 81:
===Design Screen===
===Design Screen===
# Rendering is now twice as fast. Noticeable in big projects.
# Rendering is now twice as fast. Noticeable in big projects.
# Selection now works after screen rotation.
# Right click in Design Screen allows selection of any control under that point.


===Project Explorer===
===Project Explorer===
# Cut, Copy, Paste added to right click on Project Explorer.
# Cut, Copy, Paste added to right click on Project Explorer.
# Drag and Drop to Project Explorer window works. Files are copied into the project and put into the 'includes' folder.
# Drag and Drop to Project Explorer window works. Files are copied into the project and put into the 'includes' folder.
# Firstform now only displays actual forms in picker.
# Project Explorer now scrolls to show item selected in Design Screen.


===Libraries===
===Libraries===
Line 92: Line 133:
# loadType: new property sets how each external JavaScript file is loaded.
# loadType: new property sets how each external JavaScript file is loaded.
# [[Fundamentals_of_BASIC#Numeric|Octal]] notation: now works properly in numbers.
# [[Fundamentals_of_BASIC#Numeric|Octal]] notation: now works properly in numbers.
# [[Snackbar]](message, actionText, action): New function added.
# [[Snackbar (Bootstrap 4)|Snackbar]](message, actionText, action): New function added.


===Preferences===
===Preferences===
Line 98: Line 139:
===Deploy===
===Deploy===
# close.png was not being used, so is no longer deployed.
# close.png was not being used, so is no longer deployed.
# Projects deployed to Volt have a maximum size of 50 megs.
# Obfuscation was being called twice, slowing down Deploy.
# Deploy to Server when it isn't defined yet is now handled gracefully.


===PhoneGap===
===PhoneGap===
# configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
# configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
# [[Build Native App|PhoneGap Status]] screen: Improved error messages.
# [[Build Native App|PhoneGap Status]] screen: Improved error messages.
# PhoneGap Status screen: No longer modal, so you can keep working while watching status.
# Version: Now defaults to cli8.0.0. Icons and splashes are now required.
# Version: Now defaults to cli8.0.0. Icons and splashes are now required.
# WinPhone: option deleted. No longer supported by Microsoft.
# WinPhone: option deleted. No longer supported by Microsoft.
Line 115: Line 160:
# Icons: Uses open-iconic icons instead of Font Awesome. [[Bootstrap 3 vs Bootstrap 4|Important differences are listed here.]]
# Icons: Uses open-iconic icons instead of Font Awesome. [[Bootstrap 3 vs Bootstrap 4|Important differences are listed here.]]
# Themes: 6 new themes.
# Themes: 6 new themes.
# [[Hamburger (Bootstrap)|Hamburger]]: Remove default value for background color.  
# [[Hamburger (Bootstrap)|Hamburger]]: Remove default value for background color.
# [[Dropdown (Bootstrap)|Dropdown]]: 'filter' feature added.


====Bootstrap 3====
====Bootstrap 3====
Line 159: Line 205:


=== Documentation ===
=== Documentation ===
# Wiki: http issues resolved
# Wiki: updates with some new docs, more on the way
# Internationalization: Translation files are being updated by the translators.
# TechNotes: New note on [[GitHub]].


=== Internals ===
=== Internals ===

Revision as of 00:29, 16 November 2018

Major New Features

  1. Multifile Projects: We've reorganized how projects are saved. The main .project file just contains values for project properties. All code, HTML and other text entities are now stored as separate folders and files.
  2. One Project Per Folder: All files for a project are now stored in one project folder. Two projects cannot share a folder. (If you need to share files between project, use symbolic links.)
  3. Bootstrap 4 support added. See what's different from Bootstrap 3.
  4. GitHub Support: AppStudio projects are now GitHub compatible.
  5. Version control: You can now use git (or other utility) for version control.
  6. Team Development: The combination of Multifile and GitHub allows a team of developers to work on the same project.
  7. External Editing: Having all code, HTML, etc. in separate files allows the use of other editors.
  8. Toolbox reorganized: All framework related files are now in folders for that framework.
  9. Eslint: Advanced syntax checking for JavaScript in the Code Window.
  10. Internationalization lets your app work in multiple languages.
  11. PDF files: You can make PDF files from your forms for emailing, etc.
  12. Validation allows you to automatically check the contents of forms.
  13. node.js can now be used in AppStudio projects.

Upgrading

If you have AppStudio 6 or older, you will need to get the upgrade to use these new features. You can order it here.

If you like would to try it first, download from the 'Check for Updates' screen in the Help menu. You'll get a demo copy.


Version 7.0.3 (not released yet)

  1. Deploy: Babel option transpiles code for compatibility with other browsers.
  2. Properties: New project properties to control Babel.
  3. Deploy: Problem importing .bas files fixed.
  4. Preferences: New preference for auto save on run. Defaults to true.
  5. PhoneGap Status: Can no longer be started more than once.
  6. MakeEXE: Default AppStudio icon used if none supplied.
  7. eslint: Icon added to top of Code Window for JavaScript.
  8. eslint: Always bring the window to the front when invoked.
  9. eslint: Close window if new code in Code Window.
  10. Properties: Implementation of enableAppScrolling updated for Android Chrome.
  11. BS: form.reset() now works on Bootstrap (3 and 4) controls.
  12. BS4 Label: Appearance property fixed.
  13. BS4 Buttons have a new toggleControl option to hide/show another control.
  14. BS4 Modal: Values can now be set using HTML, not just text.
  15. jqxPhotoGallery: Editor window now appears for editing photos property.
  16. jqxScheduler: Add a couple of missing icons.
  17. jqxScheduler: Sample improved.

Version 7.0.2

  1. Controls: jqxGrid: Problem with 'ready' property fixed.
  2. Deploy: Problem with Obfuscation fixed.
  3. Design Screen: MsgBox errors no longer display.
  4. Design Screen: Remove "Settings" from Add Control list.
  5. IDE: Export of external files fixed.
  6. Language files updated.
  7. Samples: BS4 Input fixed.
  8. Samples: Leaflet updated to use the latest libraries.
  9. Samples: StockQuote removed. Yahoo deprecated the API which it used.

Version 7.0.1

  1. Language files updated. Arabic, Portuguese, German and Spanish complete. (A few more are almost done.)
  2. Save As: Some redundant files and folders no longer created.

Version 7.0.0

Here's a list of what is new!

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

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

IDE - General

  1. Only changed files are written out on save - saving is faster.
  2. App's 'description' property shows in the Help Window when Project Properties is selected.
  3. Hidden non-modal windows can be brought to front using the View menu.
  4. Script windows now show the title of the property being edited.
  5. New obfuscation property for Code Modules

Code Window

  1. JavaScript syntax can be checked with a right click. Uses eslint with the AirBNB Style Guide.
  2. Format Code now uses the correct indent setting from Preferences.
  3. JavaScript arrow functions now appear in the Toolbox panel.
  4. JavaScript myFunc = function() functions now appear in Toolbox panel.
  5. Switching between tabs made faster.
  6. Project CSS now opens in the Code Window.

Design Screen

  1. Rendering is now twice as fast. Noticeable in big projects.
  2. Selection now works after screen rotation.
  3. Right click in Design Screen allows selection of any control under that point.

Project Explorer

  1. Cut, Copy, Paste added to right click on Project Explorer.
  2. Drag and Drop to Project Explorer window works. Files are copied into the project and put into the 'includes' folder.
  3. Firstform now only displays actual forms in picker.
  4. Project Explorer now scrolls to show item selected in Design Screen.

Libraries

  1. Dropbox Datastores removed - no longer supported by Dropbox.
  2. fastclick.js is now stored in the Libraries folder.
  3. i18n added. Lets your app work in multiple languages.
  4. iScroll.js is now stored in the Libraries folder.
  5. jquery-validation added. Check the values of input fields automatically.
  6. jquery.modal.js is now stored in the Libraries folder.
  7. SpinningWheel removed - obsolete.

Toolbox

  1. Bootstrap 4 framework added.
  2. Container: Add children directly to the control, not a contained DIV. Good for Bootstrap.
  3. AS controls: Redundant 'hidden' attribute removed.
  4. Toolbox Files: New !g suffix. Combines multiline statements.
  5. Toolbox Files: New {eval expression} operator. Allows expression evaluation.
  6. Toolbox Files: Anything which looks like a list is converted to a string.
  7. Toolbox Files now end in .json, not .js.
  8. Toolbox Files: New _jqmInUse variable. Set to true if jQuery Mobile in use.
  9. All controls: removed unneeded data-role=none attribute.
  10. All controls: files are now in folders by framework.
  11. All controls: Unneeded references to jQuery removed.
  12. All controls: New 'display' property. Can be block, none, etc.

Project

  1. Projects are saved one (and only one) project per folder.
  2. New project folders have a .appstudio suffix: Project1.appstudio
  3. Project files are now .project, not .nsx.
  4. Unused 'hiddenHeaders' property removed.
  5. Obsolete 'framework' property removed.
  6. Open Project: Click on Open button on Project.appstudio folder and the project will open.
  7. DefaultFormSize: Option for 800x1200 added.
  8. Project CSS now opens in the Code Window.

Forms

  1. Form.reset() now clears subforms and other controls.

Runtime

  1. Bootstrap 4 functions are processed using Babel for IE compatibility.
  2. ECMA5: Some declarations fixed for standard.
  3. Generated code: Control bounds of 'auto' no longer output - code is smaller.
  4. jQuery: The latest version of jQuery 3 is used, except for jQuery Mobile projects, which are stuck with jQuery 2.
  5. loadType: new property sets how each external JavaScript file is loaded.
  6. Octal notation: now works properly in numbers.
  7. Snackbar(message, actionText, action): New function added.

Preferences

Deploy

  1. close.png was not being used, so is no longer deployed.
  2. Projects deployed to Volt have a maximum size of 50 megs.
  3. Obfuscation was being called twice, slowing down Deploy.
  4. Deploy to Server when it isn't defined yet is now handled gracefully.

PhoneGap

  1. configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
  2. PhoneGap Status screen: Improved error messages.
  3. PhoneGap Status screen: No longer modal, so you can keep working while watching status.
  4. Version: Now defaults to cli8.0.0. Icons and splashes are now required.
  5. WinPhone: option deleted. No longer supported by Microsoft.

Frameworks

AppStudio

  1. All of the AppStudio controls are now stored in the Toolbox in a folder named 'as'.

Bootstrap 4

Bootstrap 4 has been added as a new Framework. It should be used for new projects, though Bootstrap 3 still appears and works fine. You cannot use BootStrap 3 and 4 in the same project - they conflict.

  1. Icons: Uses open-iconic icons instead of Font Awesome. Important differences are listed here.
  2. Themes: 6 new themes.
  3. Hamburger: Remove default value for background color.
  4. Dropdown: 'filter' feature added.

Bootstrap 3

  1. FlipToggle, Image, Media, Slider and Thumbnail: File dependencies corrected.
  2. Select: 'undefined' no longer appears in definition.

Common

  1. Header: Now always positions in top left of form.
  2. Line, ProgressBar: Redundant properties removed.
  3. Signature: Redone. Works on PhoneGap, has variable line thickness.

jQuery Mobile

jQuery Mobile has gone yet another year without a new release - not even for maintenance. It's looking pretty dead. This framework is not recommended for new projects.

  1. Collapsible: Now properly identified as a jQM14 control. Breaking change - you will need to delete and add back to your project any Collapsible controls you are using.
  2. Select: selectedItem() and selectedValue() no longer have error is no items on list.

jqWidgets

  1. All controls: Cleaned up use of _base.
  2. jqxDateTime: now works with latest jqWidgets.
  3. jqxDragNDrop: now works with latest jqWidgets.
  4. jqxLinearGauge: New control
  5. jqxScheduler: added agendaView, other tuneups.
  6. jqxTree: now works with latest jqWidgets.

BASIC

  1. New Const keyword for declarations.
  2. VarType(false) now returns the correct value.

Samples

  1. All: Converted to new save format.
  2. All: Lots of fixes and updates.
  3. Bootstrap 4: All controls have new samples.
  4. i18n: New sample shows how Bootstrap 4 apps can be in multiple languages.
  5. Office365: New sample shows how to use the Microsoft Graph API to read data from Office 365.
  6. Open Sample: Error when closing an item fixed.
  7. PhoneGapBarcode: New sample scans barcodes.
  8. PhoneGapMail: New sample emails current Form.
  9. PhoneGapReceiveSMS: New sample.
  10. Snackbar: New sample.
  11. Validation: New sample.

Documentation

  1. Wiki: http issues resolved
  2. Wiki: updates with some new docs, more on the way
  3. Internationalization: Translation files are being updated by the translators.
  4. TechNotes: New note on GitHub.

Internals

  1. Code Signing certificate updated.
  2. Node updated to Version 8.

Breaking Changes

  1. Collapsible: Now properly identified as a jQM14 control. You will need to delete and add back to your project any Collapsible controls you are using.
  2. jqxScheduler: The views property must be an array. Examples: ["monthview"] or ["dayview", "weekview", "monthview", "agenda"]