Version 7: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
No edit summary
 
(177 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Major New Features ==
== Major New Features ==
# Multifile support: The nsx file has been reorganized. It now 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.)
# GitHub Support: AppStudio projects are now GitHub compatible.
# Bootstrap 4 support added. [[Bootstrap 3 vs Bootstrap 4|See what's different from Bootstrap 3.]]
# Version control: You can now use git (or other utility) for version control.
# [[GitHub]] Support: AppStudio projects are now GitHub compatible.
# Team Development: The combination of multifile and GitHub allows a team of developers to work on the same project.
# [[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.
# 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 lets your app work in multiple languages.
# [[Internationalization (i18n)|Internationalization]] lets your app work in multiple languages.
# Make PDF files from your forms.
# PDF files: You can make PDF files from your forms for emailing, etc.
# [[Validation]] allows you to automatically check the contents of forms.
# node.js can now be used in AppStudio projects.


== Upgrading ==
== Upgrading ==
Line 17: 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.4.2 ==
# PhoneGap: If phoneGapVersion not specified, defaults to cli-9.0.0
# PhoneGap Samples: All samples are now compatible with cli-9.0.0
== Version 7.4.1 ==
# BS4 [[Navs (Bootstrap)|Navs]]: Fix what happens when clicked
# BS4: [[Input (Bootstrap)|Input]] and [[Textarea (Bootstrap)|Textarea]] can also be set using .value
# BS4: [[Textarea (Bootstrap)|Textarea]] sizes to actual size of control
# BS4: [[Radiobutton (Bootstrap)|Radiobutton]]: Inputmode property not needed
# BS4: [[Checkbox (Bootstrap)|Checkbox]] gives better message when index is out of range
# Deploy: [[Using_Node_and_Electron_to_build_Desktop_Apps|Electron]] 5 is now supported
# Installer: Restore registry settings for Internet Explorer
# jqWidgets [[JqxGrid|Grid]]: Clean up usage of ready property (was causing errors)
# jqWidgets: New [[Properties_Window#Project_Properties|jqWidgetsLicence]] property
# [[Progressive Web Apps|PWA]]: Some versions of IE do not support Let
# PWA: Allow for blank icon name
# PWA: Don't put double quotes in the description
# PWA: Phase out some of the logging
# Run menu: Fix Run [[Using_Node_and_Electron_to_build_Desktop_Apps|Electron]] menu item
# Samples: Use Bootstrap 4 controls instead of jQuery Mobile
# Samples: Compass now handles multiple ondeviceorientation events
# Samples: Fix old bug in GridNorthwind which caused error on split()
# Samples: GridWithScrolling did not have BASIC version
# Samples: jqWidgets [[JqxGrid|Grid]] sample did not have JavaScript version
# Samples: New [[Web_Sharing|WebShare]] sample
# [[Wiki]]: Use JavaScript/BASIC tabbed control to show sample code more clearly.
# Wiki: Update offline edition
== Version 7.4.0 ==
# PWA: [[Progressive Web Apps|Progressive Web App]] caching replaces Application Cache
# PWA: New [[Properties_Window#Project_Properties|manifest.json]] property
# BS4: Add link to Bootstrap 4 Theme Customizer: [https://bootstrap.build Bootstrap.Build]
# BS4: [[Card (Bootstrap)|Card]] display options now shown for text fields
# BS4: [[Card (Bootstrap)|Card]] Footer can now be styled
# BS4: [[DataTable_(Bootstrap)|Datatable]]: recover gracefully if no value for lengthMenu
# BS4: [[Hamburger (Bootstrap)|Hamburger]] has a title when you hover over icon
# BS4: [[Select (Bootstrap)|Select]] was emitting an extra character
# Deploy: Babel option removed.
# Deploy: Lighthouse now supported.
# Deploy: MakeEXE stuff removed - replaced by [[Using_Node_and_Electron_to_build_Desktop_Apps|Electron]]
# Deploy: old Application Cache removed
# jQM: Error in [[List]] control fixed.
# Project: MakeExe properties removed (obsolete)
# Project: [[Properties_Window|Properties]] removed: newVersionWarning, iconAndroid, exeicon, manifestFile, ManifestName
== Version 7.3.3 ==
# Controls: Allow multiple [[Google Maps|GoogleMaps]] in one project
# Deploy: png files were sometimes being translated to .js.
# [[Using Node and Electron to build Desktop Apps|Electron]]: Fix already declared variable.
# Installer: Installer enhanced for new MacOS requirements
# Project Properties: manifest has been renamed extraFiles. It still works the same way.
# PWA: infrastructure roughed in - not usable yet
# Runtime: Add HTML lang attribute (For [https://developers.google.com/web/tools/lighthouse/ Lighthouse])
# Runtime: Add meta description and theme-color (for Lighthouse)
# Runtime: Fix error in SQLite error handling
# Runtime: Improvements for Google Lighthouse audit
# Samples: Add BASIC library to some samples which need it.
# Samples: New PhoneGapZebraPrint sample, showing Bluetooth printing.
# Samples: [[JqxPhotoGallery|PhotoGallery]] updated
== Version 7.3.2 ==
# IDE: [https://en.wikipedia.org/wiki/WebAssembly Web Assembly] modules now supported.
# BS4: [[Input (Bootstrap)|datalist]] property added to Input control.
# BS4: [[Input (Bootstrap)|inputmode]] property added to [[Input (Bootstrap)|Input]] and [[Textarea (Bootstrap)|Textarea]] controls.
# BS4: [[Dropdown (Bootstrap)|Dropdown]] and Hamburger: items can now be disabled, active or a heading.
# BS4: Input now allows quote characters in placeholder property.
# Deploy: .wasm files dragged into the Project Explorer will be properly deployed.
# Documentation: Wiki updated.
# IDE: Allow unicode characters in css files added to the project.
# IDE: Link to icon/splashscreen utility updated - old provider ceased operations.
# [[Libraries]]: The [[:Category:BASIC Functions|BASIC functions]] library can be added to JavaScript apps.
# JavaScript: The [[format]]() function is usable without needing BASIC.
# Register: Correct server path
== Version 7.3.1 ==
# BS4: [[Alert (Bootstrap)|Alert]]: Allow multiline value
# BS4: [[Label (Bootstrap)|Label]].text can be used - same as Label.value.
# BS4: [[Select (Bootstrap)|Select]] control: value of 0 now works properly.
# BS4: Warning if mixed BS3 or jQM controls when control added.
# Deploy: Pure JavaScript apps no longer include BASIC functions (smaller deploy)
# Deploy: hfunc.js split into appstudioFunctions.js and basicFunctions.js
# IDE: [https://blog.nsbasic.com/2019/03/our-website-is-now-www-appstudio-dev/ Change company branding]
# IDE: Change links to [http://www.appstudio.dev appstudio.dev]
# IDE: Save As with manifest file set to "nocache" fixed.
# IDE: Update slogan
# Installer: Better method of loading tkinter.
# jQM: [[List|jqmList]] now includes fastclick.js in the project.
# Register: Improve "need to update" message.
# Samples: ElectronWeather updated.
# Samples: Improve button appearance in [[DataTable (Bootstrap)|Datatables]] sample.
# Toolbox: Some autocomplete hints fixed.
# Wiki: Offline wiki updated with latest docs
# Wiki: Offline search fixed.
== Version 7.3.0 ==
# AppStudio can now build native apps for Windows, MacOS and Linux.
# [https://nodejs.org/en/ Node] and [https://www.npmjs.com/ npm] can now be used. Over 750,000 modules available.
# [https://electronjs.org/ Electron] support added.
# BS: [[Input (Bootstrap)|Input]] icon can now be clicked on.
# BS3: Updated to Bootstrap 3.4.1
# BS4: [[Switch (Bootstrap)|Switch]].text can be used to get and set text of switch.
# BS4: Updated to Bootstrap 4.3.1
# Docs: [[Using Node and Electron to build Desktop Apps]]
# Project Explorer: Allow files in project root to be dragged into Project Explorer.
# Run: [[Make Windows Executables|Make Windows Executable (EXE)]] has been removed.
# Run: [[Using Node and Electron to build Desktop Apps|Package for Distribution using Electron]] has been added.
# Runtime: FastClick has been turned off.
# Samples: BS3 Hamburger: Label was hiding Hamburger.
# Samples: execPython removed.
# Samples: New ElectronWeather sample.
# Windows: installer rebuilt using pyInstaller 3.4
== Version 7.2.2 ==
# Controls: New [[CSSGrid]] and [[CSSGridItem]] controls.
# Documentation: Wiki updated with new controls.
# Documentation: [[Bootstrap_3_vs_Bootstrap_4|Bootstrap 3 vs Bootstrap 4]] doc improved.
# BS4: New link to [https://www.nsbasic.com/app/OpenIconic.html preview icons].
# BS4 Card: new imageWidth property added.
# BS4 Switch: bug fixed - no size option.
# Installer: Windows signing certificate updated.
# Samples: New CSSGrid sample.
# Samples: VoltServer Storage sample - fix to password check.
# Icons: Update link to point to https://www.nsbasic.com/app/OpenIconic.html
== Version 7.2.1 ==
# BS4: New [[Toast (Bootstrap)|Toast]] control
# BS4: [[Select (Bootstrap)|Select]]: No longer creates empty values for item
# BS4: Updated Bootswatch themes
# BS4: [[Switch (Bootstrap)|Switch]]: New Bootstrap native Switch replaces of Titatoggle's Fliptoggle.
# Code Windows: Markdown (.md) files can now be edited.
# Deploy: [[Properties Window|loadType]] is now implemented.
# Deploy: new loadType: noload
# IDE: eslint dialog is reused (so there are never two visible at once)
# IDE: Project CSS is now marked up as CSS.
# IDE: Rare project corruption issues fixed - now it self fixes.
# IDE: Update copyright to 2019
# [[Project_Explorer|Project Explorer]]: Files can now be dragged and dropped. Will be deployed to the project's root directory.
# Project Explorer: Folders can now be dragged and dropped. Will be deployed to the project's root directory.
# Samples: VoltServer users - bug fixed in password check.
== Version 7.2.0 ==
# BS4: [[Internationalization (i18n)|i18n]] support added to iconFeedback descriptions.
# BS4: [[Select (Bootstrap)|Select]]: text property added.
# BS4: Select: value property changed to contain an index value.
# Common: [[Container]] (and other controls) no longer get error on .addChild()
# Installer: MacOS installer is now fully code signed.
# Installer: MacOS now built using PyInstaller 3.4.
# jqW: jqWidgets 7.0 is supported.
# Runtime: Delay on starting app in local browser in MacOS Mojave fixed.
Important!
* Please note that the changes to BS4 Select will break code in some cases. See [https://blog.nsbasic.com/2019/01/enhancements-to-the-bootstrap-4-select-control/ blog post].
* The newly signed AppStudio may hang the first or second time it is run. Just restart it.
== Version 7.1.0 ==
# BS4 [[Dropdown (Bootstrap)|Dropdown]]: Outline button option added.
# BS4 Dropdown: Icon was not showing in some cases.
# BS4 [[Hamburger (Bootstrap)|Hamburger]]: Outline button option added.
# BS4 [[Jumbotron (Bootstrap)|Jumbotron]]: Outline button option added.
# BS4 [[Label (Bootstrap)|Label]]: Appearance defaults to 'primary'.
# BS4 [[Listgroup (Bootstrap)|Listgroup]]: Appearances adds primary, secondary, light and dark options.
# BS4 Listgroup: Icons property added.
# BS4 [[Select (Bootstrap)|Select]]: fontsize of select option is now same as title.
# BS4 Select: Icon was not appearing.
# BS4 [[Textarea (Bootstrap)|Textarea]]: fontsize of body is now same as title.
# BS4: New themes: lux, materia, minty, pulse and solar.
# BS4: Upgraded to Bootstrap 4.2.1.
# BS4: You can now specify the text which appears when hovering over an icon.
# IDE: Copyright changed to 2019.
# jqW: [[jqxGrid]] - problem with column property fixed.
# Samples: [[Flexbox]] sample improved.
# Samples: Labels sample renamed to Label.
# Translator: Fix translation of Const.
# VoltServer: Upload limit increased from 50 megs. Keeping it under that size is strongly recommended.
== Version 7.0.4 ==
# Controls: BS4 [[Label (Bootstrap)|Label]] has new LabelStyle and borderRadius options.
# Controls: [[DataTable (Bootstrap)|DataTable]] now includes extensions, including buttons, responsive, scroller and fixedHeader.
# Controls: [[Flexbox]] properties added the Container, Header, GridRow and GridCol.
# Controls: New FlexBox control makes layout easier.
# PhoneGap Status: Closes instead of hiding behind AppStudio when file is selected.
# Properties: Problem with [[Responsive Design Made Simple|calc]] (used in bounds) and 'vh' fixed.
# Samples: New BS4 Labels sample.
# Samples: New FlexBox sample.
# Samples: [[Validation]] sample updated.
# Translator: [[Const]] is now translated properly from BASIC.
== Version 7.0.3 ==
# 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 28: Line 251:
===IDE - General===
===IDE - General===


# Only changed files are written out on save.
# 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===
# Format Code now uses the correct indent setting from Preferences.
# JavaScript syntax can be checked with a right click. Uses eslint with the [https://github.com/airbnb/javascript AirBNB Style Guide].
# Format Code now uses the correct indent setting from [[Preferences#Code_Tab|Preferences]].
# JavaScript arrow functions now appear in the Toolbox panel.
# JavaScript arrow functions now appear in the Toolbox panel.
# JavaScript myFunc = function() functions now appear in Toolbox panel.
# JavaScript myFunc = function() functions now appear in Toolbox panel.
# JavaScript syntax can be checked with a right click. Uses eslint with the [https://github.com/airbnb/javascript AirBNB Style Guide].
# Switching between tabs made faster.
# Project CSS now opens in the Code Window.
 
===Design Screen===
# 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===
# Add Cut, Copy, Paste 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 put into a folder named 'includes'.
# 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===
# Get rid of Dropbox Datastores library - no longer supported by Dropbox.
# [[Using a Dropbox Datastore|Dropbox Datastores]] removed - no longer supported by Dropbox.
# fastclick.js is now stored in the Libraries folder.
# [[Internationalization (i18n)|i18n]] added. Lets your app work in multiple languages.
# iScroll.js is now stored in the Libraries folder.
# iScroll.js is now stored in the Libraries folder.
# jquery.modal.js is now stored in the Libraries folder.
# [[Validation|jquery-validation]] added. Check the values of input fields automatically.
# fastclick.js is now stored in the Libraries folder.
# [[Modal Forms|jquery.modal.js]] is now stored in the Libraries folder.
# Get rid of SpinningWheel - obsolete.
# [[Libraries|SpinningWheel]] removed - obsolete.
# Added jquery-validation.


===Toolbox===
===Toolbox===
# All framework related files are now in folders for that framework.
# Bootstrap 4 framework added.
# Toolbox files now end in .json, not .js.
# [[Container]]: Add children directly to the control, not a contained DIV. Good for Bootstrap.
# New _jqmInUse variable. Set to true if jQuery Mobile in use.
# AS controls: Redundant 'hidden' attribute removed.
# Unneeded references to jQuery removed.
# [[ToolBox Files|Toolbox Files]]: New !g suffix. Combines multiline statements.
# All controls: New 'Display' property. Can be block, none, etc.
# AS controls: get rid of redundant 'hidden' attribute.
# Container: Add children directly to the control, not a contained DIV. Good for BS.
# Toolbox Files: New !g suffix. Combines multiline statements.
# Toolbox Files: New {eval ''expression''} operator. Allows expression evaluation.
# Toolbox Files: New {eval ''expression''} operator. Allows expression evaluation.
# Toolbox Files: Anything which looks like a list is converted to a string.
# Toolbox Files: Anything which looks like a list is converted to a string.
# Toolbox Files now end in .json, not .js.
# Toolbox Files: New _jqmInUse variable. Set to true if jQuery Mobile in use.
# All controls: removed unneeded data-role=none attribute.
# All controls: files are now in folders by framework.
# All controls: Unneeded references to jQuery removed.
# All controls: New '[https://www.w3schools.com/CSSref/pr_class_display.asp display]' property. Can be block, none, etc.


===Project===
===Project===
Line 65: Line 303:
# New project folders have a .appstudio suffix: Project1.appstudio
# New project folders have a .appstudio suffix: Project1.appstudio
# Project files are now .project, not .nsx.
# Project files are now .project, not .nsx.
# Get rid of unused 'hiddenHeaders' property.
# Unused 'hiddenHeaders' property removed.
# Get rid of obsolete 'framework' property.
# Obsolete 'framework' property removed.
# Open Project: Click on Open button on Project.appstudio folder and the project will open.
# DefaultFormSize: Option for 800x1200 added.
# Project CSS now opens in the Code Window.


===Forms===
===Forms===
Line 72: Line 313:


===Runtime===
===Runtime===
# jQuery 3 is used unless it's a jQM project, when jQuery 2 is used instead.
# Bootstrap 4 functions are processed using Babel for IE compatibility.
# Correct use of Octal notation
# [https://en.wikipedia.org/wiki/ECMAScript ECMA5]: Some declarations fixed for standard.
# Some declarations fixed for ECMA5 standard.
# Generated code: Control bounds of 'auto' no longer output - code is smaller.
# New loadType property sets how each external JavaScript is loaded.
# [https://jquery.com/ jQuery]: The latest version of jQuery 3 is used, except for jQuery Mobile projects, which are stuck with jQuery 2.
# The Bootstrap 4 functions are processed using Babel, so they will work on IE.
# loadType: new property sets how each external JavaScript file is loaded.
# Snackbar(message, actionText, action) function added.
# [[Fundamentals_of_BASIC#Numeric|Octal]] notation: now works properly in numbers.
# Control bounds of 'auto' no longer in generated code - lots less output!
# [[Snackbar (Bootstrap 4)|Snackbar]](message, actionText, action): New function added.


===Preferences===
===Preferences===
Line 84: Line 325:
===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 VoltServer 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===
# WinPhone option deleted. No longer supported by Microsoft.
# configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
# Set allow-intent to a default value. Allows mailto:, tel:, etc.
# [[Build Native App|PhoneGap Status]] screen: Improved error messages.
# cli8.0.0 is now supported (and recommended).
# PhoneGap Status screen: No longer modal, so you can keep working while watching status.
# Show error messages on PhoneGap Status screen.
# Version: Now defaults to cli8.0.0. Icons and splashes are now required.
# WinPhone: option deleted. No longer supported by Microsoft.


===Frameworks===
===Frameworks===


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


====Bootstrap 4====
====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.
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.
# Uses open-iconic icons instead of Font Awesome.
# Icons: Uses open-iconic icons instead of Font Awesome. [[Bootstrap 3 vs Bootstrap 4|Important differences are listed here.]]
# 6 new themes.
# Themes: 6 new themes.
# 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====
# File dependencies corrected for FlipToggle, Image, Media, Slider and Thumbnail.
# FlipToggle, Image, Media, Slider and Thumbnail: File dependencies corrected.
# Select: 'undefined' no longer appears in definition.
# [[Select (Bootstrap)|Select]]: 'undefined' no longer appears in definition.


====Common====
====Common====
# Line, ProgressBar: Redundant properties removed.
# [[Header]]: Now always positions in top left of form.
# Signature control redone. Works on PhoneGap, has variable line thickness.
# [[Line]], [[ProgressBar]]: Redundant properties removed.
# Header control always positions in top left of form.
# [[Signature]]: Redone. Works on PhoneGap, has variable line thickness.


====jQuery Mobile====
====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 suggested for new projects.
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.


# 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.
# [[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.
# Select: selectedItem() and selectedValue() no longer have error is no items on list.
# [[Select]]: selectedItem() and selectedValue() no longer have error is no items on list.


====jqWidgets====
====jqWidgets====
# jqxLinearGauge: New control
# All controls: Cleaned up use of _base.
# Cleaned up use of _base in jqWidgets.
# [[JqxDateTimeInput|jqxDateTime]]: now works with latest jqWidgets.
# jqxDragNDrop: now works with latest jqWidgets.
# [[JqxDragDrop|jqxDragNDrop]]: now works with latest jqWidgets.
# iqxTree: now works with latest jqWidgets.
# [[jqxLinearGauge]]: New control
# jqxScheduler: added agendaView, other tuneups.
# [[jqxScheduler]]: added agendaView, other tuneups.
# [[jqxTree]]: now works with latest jqWidgets.


=== BASIC ===
=== BASIC ===
# New Const keyword for declarations.
# New [[Const]] keyword for declarations.
# [[VarType]](false) now returns the correct value.


=== Samples ===
=== Samples ===
# Samples all converted to new save format.
# All: Converted to new save format.
# New samples for Bootstrap 4
# All: Lots of fixes and updates.
# New Validation sample.
# Bootstrap 4: All controls have new samples.
# New Snackbar sample.
# [[Internationalization (i18n)|i18n]]: New sample shows how Bootstrap 4 apps can be in multiple languages.
# New PhoneGapReceiveSMS sample.
# [[Office365]]: New sample shows how to use the Microsoft Graph API to read data from Office 365.
# New PhoneGapMail sample emails current Form.
# [[Open Sample Dialog|Open Sample]]: Error when closing an item fixed.
# New PhoneGapBarcode sample scans barcodes.
# PhoneGapBarcode: New sample scans barcodes.
# New i18n Sample.
# PhoneGapMail: New sample emails current Form.
# Lots of fixes and updated to existing samples.
# PhoneGapReceiveSMS: New sample.
# [[Snackbar]]: New sample.
# [[Validation]]: New sample.


=== 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 ===
Line 148: Line 402:


=== Breaking Changes ===
=== Breaking Changes ===
# 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.
# [[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.
# [[jqxScheduler]]: The views property must be an array. Examples: ["monthview"] or ["dayview", "weekview", "monthview", "agenda"]

Latest revision as of 15:41, 25 February 2021

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.4.2

  1. PhoneGap: If phoneGapVersion not specified, defaults to cli-9.0.0
  2. PhoneGap Samples: All samples are now compatible with cli-9.0.0

Version 7.4.1

  1. BS4 Navs: Fix what happens when clicked
  2. BS4: Input and Textarea can also be set using .value
  3. BS4: Textarea sizes to actual size of control
  4. BS4: Radiobutton: Inputmode property not needed
  5. BS4: Checkbox gives better message when index is out of range
  6. Deploy: Electron 5 is now supported
  7. Installer: Restore registry settings for Internet Explorer
  8. jqWidgets Grid: Clean up usage of ready property (was causing errors)
  9. jqWidgets: New jqWidgetsLicence property
  10. PWA: Some versions of IE do not support Let
  11. PWA: Allow for blank icon name
  12. PWA: Don't put double quotes in the description
  13. PWA: Phase out some of the logging
  14. Run menu: Fix Run Electron menu item
  15. Samples: Use Bootstrap 4 controls instead of jQuery Mobile
  16. Samples: Compass now handles multiple ondeviceorientation events
  17. Samples: Fix old bug in GridNorthwind which caused error on split()
  18. Samples: GridWithScrolling did not have BASIC version
  19. Samples: jqWidgets Grid sample did not have JavaScript version
  20. Samples: New WebShare sample
  21. Wiki: Use JavaScript/BASIC tabbed control to show sample code more clearly.
  22. Wiki: Update offline edition

Version 7.4.0

  1. PWA: Progressive Web App caching replaces Application Cache
  2. PWA: New manifest.json property
  3. BS4: Add link to Bootstrap 4 Theme Customizer: Bootstrap.Build
  4. BS4: Card display options now shown for text fields
  5. BS4: Card Footer can now be styled
  6. BS4: Datatable: recover gracefully if no value for lengthMenu
  7. BS4: Hamburger has a title when you hover over icon
  8. BS4: Select was emitting an extra character
  9. Deploy: Babel option removed.
  10. Deploy: Lighthouse now supported.
  11. Deploy: MakeEXE stuff removed - replaced by Electron
  12. Deploy: old Application Cache removed
  13. jQM: Error in List control fixed.
  14. Project: MakeExe properties removed (obsolete)
  15. Project: Properties removed: newVersionWarning, iconAndroid, exeicon, manifestFile, ManifestName

Version 7.3.3

  1. Controls: Allow multiple GoogleMaps in one project
  2. Deploy: png files were sometimes being translated to .js.
  3. Electron: Fix already declared variable.
  4. Installer: Installer enhanced for new MacOS requirements
  5. Project Properties: manifest has been renamed extraFiles. It still works the same way.
  6. PWA: infrastructure roughed in - not usable yet
  7. Runtime: Add HTML lang attribute (For Lighthouse)
  8. Runtime: Add meta description and theme-color (for Lighthouse)
  9. Runtime: Fix error in SQLite error handling
  10. Runtime: Improvements for Google Lighthouse audit
  11. Samples: Add BASIC library to some samples which need it.
  12. Samples: New PhoneGapZebraPrint sample, showing Bluetooth printing.
  13. Samples: PhotoGallery updated

Version 7.3.2

  1. IDE: Web Assembly modules now supported.
  2. BS4: datalist property added to Input control.
  3. BS4: inputmode property added to Input and Textarea controls.
  4. BS4: Dropdown and Hamburger: items can now be disabled, active or a heading.
  5. BS4: Input now allows quote characters in placeholder property.
  6. Deploy: .wasm files dragged into the Project Explorer will be properly deployed.
  7. Documentation: Wiki updated.
  8. IDE: Allow unicode characters in css files added to the project.
  9. IDE: Link to icon/splashscreen utility updated - old provider ceased operations.
  10. Libraries: The BASIC functions library can be added to JavaScript apps.
  11. JavaScript: The format() function is usable without needing BASIC.
  12. Register: Correct server path

Version 7.3.1

  1. BS4: Alert: Allow multiline value
  2. BS4: Label.text can be used - same as Label.value.
  3. BS4: Select control: value of 0 now works properly.
  4. BS4: Warning if mixed BS3 or jQM controls when control added.
  5. Deploy: Pure JavaScript apps no longer include BASIC functions (smaller deploy)
  6. Deploy: hfunc.js split into appstudioFunctions.js and basicFunctions.js
  7. IDE: Change company branding
  8. IDE: Change links to appstudio.dev
  9. IDE: Save As with manifest file set to "nocache" fixed.
  10. IDE: Update slogan
  11. Installer: Better method of loading tkinter.
  12. jQM: jqmList now includes fastclick.js in the project.
  13. Register: Improve "need to update" message.
  14. Samples: ElectronWeather updated.
  15. Samples: Improve button appearance in Datatables sample.
  16. Toolbox: Some autocomplete hints fixed.
  17. Wiki: Offline wiki updated with latest docs
  18. Wiki: Offline search fixed.

Version 7.3.0

  1. AppStudio can now build native apps for Windows, MacOS and Linux.
  2. Node and npm can now be used. Over 750,000 modules available.
  3. Electron support added.
  4. BS: Input icon can now be clicked on.
  5. BS3: Updated to Bootstrap 3.4.1
  6. BS4: Switch.text can be used to get and set text of switch.
  7. BS4: Updated to Bootstrap 4.3.1
  8. Docs: Using Node and Electron to build Desktop Apps
  9. Project Explorer: Allow files in project root to be dragged into Project Explorer.
  10. Run: Make Windows Executable (EXE) has been removed.
  11. Run: Package for Distribution using Electron has been added.
  12. Runtime: FastClick has been turned off.
  13. Samples: BS3 Hamburger: Label was hiding Hamburger.
  14. Samples: execPython removed.
  15. Samples: New ElectronWeather sample.
  16. Windows: installer rebuilt using pyInstaller 3.4

Version 7.2.2

  1. Controls: New CSSGrid and CSSGridItem controls.
  2. Documentation: Wiki updated with new controls.
  3. Documentation: Bootstrap 3 vs Bootstrap 4 doc improved.
  4. BS4: New link to preview icons.
  5. BS4 Card: new imageWidth property added.
  6. BS4 Switch: bug fixed - no size option.
  7. Installer: Windows signing certificate updated.
  8. Samples: New CSSGrid sample.
  9. Samples: VoltServer Storage sample - fix to password check.
  10. Icons: Update link to point to https://www.nsbasic.com/app/OpenIconic.html

Version 7.2.1

  1. BS4: New Toast control
  2. BS4: Select: No longer creates empty values for item
  3. BS4: Updated Bootswatch themes
  4. BS4: Switch: New Bootstrap native Switch replaces of Titatoggle's Fliptoggle.
  5. Code Windows: Markdown (.md) files can now be edited.
  6. Deploy: loadType is now implemented.
  7. Deploy: new loadType: noload
  8. IDE: eslint dialog is reused (so there are never two visible at once)
  9. IDE: Project CSS is now marked up as CSS.
  10. IDE: Rare project corruption issues fixed - now it self fixes.
  11. IDE: Update copyright to 2019
  12. Project Explorer: Files can now be dragged and dropped. Will be deployed to the project's root directory.
  13. Project Explorer: Folders can now be dragged and dropped. Will be deployed to the project's root directory.
  14. Samples: VoltServer users - bug fixed in password check.

Version 7.2.0

  1. BS4: i18n support added to iconFeedback descriptions.
  2. BS4: Select: text property added.
  3. BS4: Select: value property changed to contain an index value.
  4. Common: Container (and other controls) no longer get error on .addChild()
  5. Installer: MacOS installer is now fully code signed.
  6. Installer: MacOS now built using PyInstaller 3.4.
  7. jqW: jqWidgets 7.0 is supported.
  8. Runtime: Delay on starting app in local browser in MacOS Mojave fixed.

Important!

  • Please note that the changes to BS4 Select will break code in some cases. See blog post.
  • The newly signed AppStudio may hang the first or second time it is run. Just restart it.

Version 7.1.0

  1. BS4 Dropdown: Outline button option added.
  2. BS4 Dropdown: Icon was not showing in some cases.
  3. BS4 Hamburger: Outline button option added.
  4. BS4 Jumbotron: Outline button option added.
  5. BS4 Label: Appearance defaults to 'primary'.
  6. BS4 Listgroup: Appearances adds primary, secondary, light and dark options.
  7. BS4 Listgroup: Icons property added.
  8. BS4 Select: fontsize of select option is now same as title.
  9. BS4 Select: Icon was not appearing.
  10. BS4 Textarea: fontsize of body is now same as title.
  11. BS4: New themes: lux, materia, minty, pulse and solar.
  12. BS4: Upgraded to Bootstrap 4.2.1.
  13. BS4: You can now specify the text which appears when hovering over an icon.
  14. IDE: Copyright changed to 2019.
  15. jqW: jqxGrid - problem with column property fixed.
  16. Samples: Flexbox sample improved.
  17. Samples: Labels sample renamed to Label.
  18. Translator: Fix translation of Const.
  19. VoltServer: Upload limit increased from 50 megs. Keeping it under that size is strongly recommended.

Version 7.0.4

  1. Controls: BS4 Label has new LabelStyle and borderRadius options.
  2. Controls: DataTable now includes extensions, including buttons, responsive, scroller and fixedHeader.
  3. Controls: Flexbox properties added the Container, Header, GridRow and GridCol.
  4. Controls: New FlexBox control makes layout easier.
  5. PhoneGap Status: Closes instead of hiding behind AppStudio when file is selected.
  6. Properties: Problem with calc (used in bounds) and 'vh' fixed.
  7. Samples: New BS4 Labels sample.
  8. Samples: New FlexBox sample.
  9. Samples: Validation sample updated.
  10. Translator: Const is now translated properly from BASIC.

Version 7.0.3

  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 VoltServer 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"]