Version 7: Difference between revisions
No edit summary |
|||
(184 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Major New Features == | == Major New Features == | ||
# Multifile | # [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. | ||
# | # 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 | # [[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. | ||
# 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 16: | 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 == | ||
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 27: | 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 | # JavaScript myFunc = function() functions now appear in Toolbox panel. | ||
# 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=== | ||
# | # Cut, Copy, Paste added to right click on Project Explorer. | ||
# Drag and Drop to Project Explorer window works. Files are put into | # 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=== | ||
# | # [[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. | # [[Validation|jquery-validation]] added. Check the values of input fields automatically. | ||
# | # [[Modal Forms|jquery.modal.js]] is now stored in the Libraries folder. | ||
# | # [[Libraries|SpinningWheel]] removed - obsolete. | ||
===Toolbox=== | ===Toolbox=== | ||
# | # Bootstrap 4 framework added. | ||
# [[Container]]: Add children directly to the control, not a contained DIV. Good for Bootstrap. | |||
# AS controls: Redundant 'hidden' attribute removed. | |||
# [[ToolBox Files|Toolbox Files]]: New !g suffix. Combines multiline statements. | |||
# Container: Add children directly to the control, not a contained DIV. Good for | |||
# 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 63: | 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. | ||
# | # Unused 'hiddenHeaders' property removed. | ||
# | # 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 70: | Line 313: | ||
===Runtime=== | ===Runtime=== | ||
# | # Bootstrap 4 functions are processed using Babel for IE compatibility. | ||
# | # [https://en.wikipedia.org/wiki/ECMAScript ECMA5]: Some declarations fixed for standard. | ||
# Generated code: Control bounds of 'auto' no longer output - code is smaller. | |||
# | # [https://jquery.com/ jQuery]: The latest version of jQuery 3 is used, except for jQuery Mobile projects, which are stuck with jQuery 2. | ||
# | # 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. | ||
# [[Snackbar (Bootstrap 4)|Snackbar]](message, actionText, action): New function added. | |||
===Preferences=== | ===Preferences=== | ||
Line 82: | 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=== | ||
# | # configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc. | ||
# [[Build Native App|PhoneGap Status]] screen: Improved error messages. | |||
# cli8.0.0 | # 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. | ||
# WinPhone: option deleted. No longer supported by Microsoft. | |||
===Frameworks=== | ===Frameworks=== | ||
====AppStudio==== | ====AppStudio==== | ||
# All of the AppStudio controls are now stored in | # 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==== | |||
# | # 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 | # [[Line]], [[ProgressBar]]: Redundant properties removed. | ||
# [[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 | 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. | |||
====jqWidgets==== | ====jqWidgets==== | ||
# jqxLinearGauge: New control | # All controls: Cleaned up use of _base. | ||
# | # [[JqxDateTimeInput|jqxDateTime]]: now works with latest jqWidgets. | ||
# [[JqxDragDrop|jqxDragNDrop]]: now works with latest jqWidgets. | |||
# [[jqxLinearGauge]]: New control | |||
# [[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 === | ||
# | # All: Converted to new save format. | ||
# New | # All: Lots of fixes and updates. | ||
# New | # Bootstrap 4: All controls have new samples. | ||
# New | # [[Internationalization (i18n)|i18n]]: New sample shows how Bootstrap 4 apps can be in multiple languages. | ||
# New | # [[Office365]]: New sample shows how to use the Microsoft Graph API to read data from Office 365. | ||
# New | # [[Open Sample Dialog|Open Sample]]: Error when closing an item fixed. | ||
# New | # PhoneGapBarcode: New sample scans barcodes. | ||
# | # PhoneGapMail: New sample emails current Form. | ||
# 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 140: | 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
- 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.
- 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. See what's different from Bootstrap 3.
- GitHub Support: AppStudio projects are now GitHub compatible.
- Version control: You can now use git (or other utility) for version control.
- 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.
- Toolbox reorganized: All framework related files are now in folders for that framework.
- Eslint: Advanced syntax checking for JavaScript in the Code Window.
- Internationalization lets your app work in multiple languages.
- 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
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
- 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: Fix what happens when clicked
- BS4: Input and Textarea can also be set using .value
- BS4: Textarea sizes to actual size of control
- BS4: Radiobutton: Inputmode property not needed
- BS4: Checkbox gives better message when index is out of range
- Deploy: Electron 5 is now supported
- Installer: Restore registry settings for Internet Explorer
- jqWidgets Grid: Clean up usage of ready property (was causing errors)
- jqWidgets: New jqWidgetsLicence property
- 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 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 Grid sample did not have JavaScript version
- Samples: New 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 App caching replaces Application Cache
- PWA: New manifest.json property
- BS4: Add link to Bootstrap 4 Theme Customizer: Bootstrap.Build
- BS4: Card display options now shown for text fields
- BS4: Card Footer can now be styled
- BS4: Datatable: recover gracefully if no value for lengthMenu
- BS4: Hamburger has a title when you hover over icon
- BS4: Select was emitting an extra character
- Deploy: Babel option removed.
- Deploy: Lighthouse now supported.
- Deploy: MakeEXE stuff removed - replaced by Electron
- Deploy: old Application Cache removed
- jQM: Error in List control fixed.
- Project: MakeExe properties removed (obsolete)
- Project: Properties removed: newVersionWarning, iconAndroid, exeicon, manifestFile, ManifestName
Version 7.3.3
- Controls: Allow multiple GoogleMaps in one project
- Deploy: png files were sometimes being translated to .js.
- 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 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: PhotoGallery updated
Version 7.3.2
- IDE: Web Assembly modules now supported.
- BS4: datalist property added to Input control.
- BS4: inputmode property added to Input and Textarea controls.
- BS4: 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 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: Allow multiline value
- BS4: Label.text can be used - same as Label.value.
- BS4: 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: Change company branding
- IDE: Change links to appstudio.dev
- IDE: Save As with manifest file set to "nocache" fixed.
- IDE: Update slogan
- Installer: Better method of loading tkinter.
- jQM: jqmList now includes fastclick.js in the project.
- Register: Improve "need to update" message.
- Samples: ElectronWeather updated.
- Samples: Improve button appearance in 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.
- Node and npm can now be used. Over 750,000 modules available.
- Electron support added.
- BS: Input icon can now be clicked on.
- BS3: Updated to Bootstrap 3.4.1
- BS4: 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 Executable (EXE) has been removed.
- Run: 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 doc improved.
- BS4: New link to 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 control
- BS4: Select: No longer creates empty values for item
- BS4: Updated Bootswatch themes
- BS4: Switch: New Bootstrap native Switch replaces of Titatoggle's Fliptoggle.
- Code Windows: Markdown (.md) files can now be edited.
- Deploy: 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: 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: i18n support added to iconFeedback descriptions.
- BS4: 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 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: Outline button option added.
- BS4 Dropdown: Icon was not showing in some cases.
- BS4 Hamburger: Outline button option added.
- BS4 Jumbotron: Outline button option added.
- BS4 Label: Appearance defaults to 'primary'.
- BS4 Listgroup: Appearances adds primary, secondary, light and dark options.
- BS4 Listgroup: Icons property added.
- BS4 Select: fontsize of select option is now same as title.
- BS4 Select: Icon was not appearing.
- BS4 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 has new LabelStyle and borderRadius options.
- Controls: 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 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: New project properties to control Babel.
- Deploy: Problem importing .bas files fixed.
- Preferences: New preference for auto save on run. Defaults to true.
- PhoneGap Status: Can no longer be started more than once.
- MakeEXE: Default AppStudio icon used if none supplied.
- 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: Implementation of enableAppScrolling updated for Android Chrome.
- BS: form.reset() now works on Bootstrap (3 and 4) controls.
- BS4 Label: Appearance property fixed.
- BS4 Buttons have a new toggleControl option to hide/show another control.
- BS4 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
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
- 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.
- 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
- JavaScript syntax can be checked with a right click. Uses eslint with the AirBNB Style Guide.
- Format Code now uses the correct indent setting from Preferences.
- JavaScript arrow functions now appear in the Toolbox panel.
- JavaScript myFunc = function() functions now appear in Toolbox panel.
- 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
- 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.
- Firstform now only displays actual forms in picker.
- Project Explorer now scrolls to show item selected in Design Screen.
Libraries
- Dropbox Datastores removed - no longer supported by Dropbox.
- fastclick.js is now stored in the Libraries folder.
- i18n added. Lets your app work in multiple languages.
- iScroll.js is now stored in the Libraries folder.
- jquery-validation added. Check the values of input fields automatically.
- jquery.modal.js is now stored in the Libraries folder.
- SpinningWheel removed - obsolete.
Toolbox
- Bootstrap 4 framework added.
- Container: Add children directly to the control, not a contained DIV. Good for Bootstrap.
- AS controls: Redundant 'hidden' attribute removed.
- Toolbox Files: New !g suffix. Combines multiline statements.
- Toolbox Files: New {eval expression} operator. Allows expression evaluation.
- 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 'display' property. Can be block, none, etc.
Project
- Projects are saved one (and only one) project per folder.
- New project folders have a .appstudio suffix: Project1.appstudio
- Project files are now .project, not .nsx.
- Unused 'hiddenHeaders' property removed.
- 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
- Form.reset() now clears subforms and other controls.
Runtime
- Bootstrap 4 functions are processed using Babel for IE compatibility.
- ECMA5: Some declarations fixed for standard.
- Generated code: Control bounds of 'auto' no longer output - code is smaller.
- jQuery: The latest version of jQuery 3 is used, except for jQuery Mobile projects, which are stuck with jQuery 2.
- loadType: new property sets how each external JavaScript file is loaded.
- Octal notation: now works properly in numbers.
- Snackbar(message, actionText, action): New function added.
Preferences
Deploy
- 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
- configxml: In whitelist, sets allow-intent to a default value. Allows mailto:, tel:, etc.
- 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.
- WinPhone: option deleted. No longer supported by Microsoft.
Frameworks
AppStudio
- 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.
- Icons: Uses open-iconic icons instead of Font Awesome. Important differences are listed here.
- Themes: 6 new themes.
- Hamburger: Remove default value for background color.
- Dropdown: 'filter' feature added.
Bootstrap 3
- FlipToggle, Image, Media, Slider and Thumbnail: File dependencies corrected.
- Select: 'undefined' no longer appears in definition.
Common
- Header: Now always positions in top left of form.
- Line, ProgressBar: Redundant properties removed.
- 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.
- 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.
jqWidgets
- All controls: Cleaned up use of _base.
- jqxDateTime: now works with latest jqWidgets.
- jqxDragNDrop: now works with latest jqWidgets.
- jqxLinearGauge: New control
- jqxScheduler: added agendaView, other tuneups.
- jqxTree: now works with latest jqWidgets.
BASIC
Samples
- All: Converted to new save format.
- All: Lots of fixes and updates.
- Bootstrap 4: All controls have new samples.
- i18n: New sample shows how Bootstrap 4 apps can be in multiple languages.
- Office365: New sample shows how to use the Microsoft Graph API to read data from Office 365.
- Open Sample: Error when closing an item fixed.
- PhoneGapBarcode: New sample scans barcodes.
- PhoneGapMail: New sample emails current Form.
- PhoneGapReceiveSMS: New sample.
- Snackbar: New sample.
- Validation: New sample.
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
- Code Signing certificate updated.
- Node updated to Version 8.
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.
- jqxScheduler: The views property must be an array. Examples: ["monthview"] or ["dayview", "weekview", "monthview", "agenda"]