BasicIDE Suite 3 now superceded by BasicIDE Suite 4
www.b4x.com
Here we have (yet) another updated version of BasicIDE Suite, my on device development environment. The IDE is based on my CodeEditorView control that you could use in your own projects if you needed a syntax highlighting code editor. I haven't documented it separately as I suspect the limited demand for it would not justify the effort but would be pleased to answer questions about its use.
Significant changes from BasicIDE Suite version 2 are:
BasicIDE
1) Async dialogs are now supported using a callback mechanism. Synchronous ones are available but deprecated.
2) Because debugging formerly relied on the deprecated Msgbox it has been overhauled to be programmatically invoked using Async dialogs
2) A few typos and missing items in the syntax highlighting and autocomplete are fixed.
3) All array, variable and Sub names are now available to autocomplete, updated whenever Enter is pressed
4) New CodeEditorView v1.20 has a custom ArrayAdapter that needs no manifest entries or inline Java (cribbed from some of Erel's B4A code - thank you) and has Search background highlighting added.
5) Editor can now do find, search and replace
6) Clipboard access for text items added to the language because it was needed by one of my apps
BasicIDE Designer
1) Various minor enhancements and UI bugfixes
2) Added landscape layout capability so programs can now cope with device rotation
BasicIDE Launcher
1) Launcher app has been added to the suite to enable rapid launch of completed programs by selection from a list
Personal ramblings - skip if you can't be bothered reading it!
A little history for context. Way back in 2007 I purchased a Pocket PC, a Dell Axiom A30. It was a revelation! A small Windows 95 like computer running a compact version of .NET and Windows Forms. I also purchased a program called Basic4ppc so that I could program on the go with the Axiom as well as on the desktop and so I 'met' Erel.
All good things come to an end and with the demise of Pocket PC/Windows Mobile 6 and its replacement by the utterly awful, and ultimately doomed, Windows Mobile 7 and later series of OSes I reluctantly switched to Android, as did the creator of Basic4ppc and I became the first beta tester to help Erel develop Basic4Android that later became B4A.
Back in 2010 Erel was pretty pleased with himself for implementing a modal dialog in Android - only to deprecate it nearly 10 years later ?
I stopped using B4A in 2014 out of disgust with Google's business practices and for a while small Windows tablets looked promising. On them I could run my own private version of Basic4ppc which I have kept enhancing over the years into a full blown desktop IDE. However these small tablets never took off in the market and became unobtainable with any decent specification so in about 2018 I returned very reluctantly to Android, even more disgusted with Google but with no other alternative, and started relearning B4A which had grown somewhat during my absence.
I still wanted an on-device IDE and I have a Basic4ppc language interpreter that I wrote in C# for Basic4ppc and have kept polished over the years and which I had translated to Java and B4A as the BasicLib library. So I started implementing an on device development based upon it. Now with Basic IDE Suite version 3 we have the apotheosis of my efforts over the years.
BasicIDE Suite 3 details
This latest vesion of Basic IDE Suite has three components.
Basic IDE, the on-device development environment which uses the BasicLib B4A library to provide the language interpreter for the IDE. This latest version has a modified editor that provides syntax highlighting and auto-completion for the B4AScript language, the Basic IDE Script extensions and the variable and Sub declarations of the current program. It has error line highlighting together with search and replace. A major addition to the Script extensions are non-modal versions of the original modal user interface dialogs, and the elimination of modal dialogs from Basic IDE itself, apart from the script break and step facility which requires it. There is a discussion of modality and its implications in Basic IDE and its program in a topic in the help file for Basic IDE.
Basic IDE Designer, an on-device visual designer that is used to produce view layouts for use in Basic IDE programs. This latest version can provide both landscape and portrait variants.
Basic IDE Launcher, an app that can quickly run a selected Basic IDE program and whose project can very easily be copied, slightly modified and recompiled by B4A to produce a stand-alone APK of a Basic IDE program that can be installed to a device and run independently as a normal B4A app.
Before extracting the BasicIDEHelp zip file it should be unblocked by right clicking on it in File Explorer, selecting Properties and checking Unblock at the lower right of the General tab. This allows the .chm help files to be properly displayed by Windows. If the .chm files are not unblocked their content will not be available in the Windows help viewer. Read the BasicIDE chm help to get started. I note that the Installation topic in the Overview section implies that the help files are in BasicIDELibraries zip, they no longer are and now have their own archive.
If this all looks a bit daunting that is because it is, although once everything is in place on the device things are pretty straightforward. Remember that this is a full design and execution IDE for non-trivial Andoid apps so it was never going to be simple - I don't usually do simple. Enjoy
EDIT: There seems to be a bug in Android 11 keyboard handling that affects the Designer. See post #7 below.
EDIT2: The new IIF function in B4X v11.0 broke the Script module version replace it with the version in post #9
EDIT3: B4A v11 barfs on an unneeded manifest entry in the Launcher. Remove the last line
AddManifestText(<edtSource android:imeOptions="flagNoExtractUi|flagNoFullscreen" />)
EDIT4: See posts #15 and #16 for how to add a 'flinging' capability to the editor for much easier navigation
BasicIDE Suite 4 - Now even further improved
Here we have (yet) another updated version of BasicIDE Suite, my on device development environment. Basic IDE Suite has three components. BasicIDE An on-device development environment which uses the BasicLib B4A library to provide the language interpreter for the IDE. This latest version has...
Here we have (yet) another updated version of BasicIDE Suite, my on device development environment. The IDE is based on my CodeEditorView control that you could use in your own projects if you needed a syntax highlighting code editor. I haven't documented it separately as I suspect the limited demand for it would not justify the effort but would be pleased to answer questions about its use.
Significant changes from BasicIDE Suite version 2 are:
BasicIDE
1) Async dialogs are now supported using a callback mechanism. Synchronous ones are available but deprecated.
2) Because debugging formerly relied on the deprecated Msgbox it has been overhauled to be programmatically invoked using Async dialogs
2) A few typos and missing items in the syntax highlighting and autocomplete are fixed.
3) All array, variable and Sub names are now available to autocomplete, updated whenever Enter is pressed
4) New CodeEditorView v1.20 has a custom ArrayAdapter that needs no manifest entries or inline Java (cribbed from some of Erel's B4A code - thank you) and has Search background highlighting added.
5) Editor can now do find, search and replace
6) Clipboard access for text items added to the language because it was needed by one of my apps
BasicIDE Designer
1) Various minor enhancements and UI bugfixes
2) Added landscape layout capability so programs can now cope with device rotation
BasicIDE Launcher
1) Launcher app has been added to the suite to enable rapid launch of completed programs by selection from a list
Personal ramblings - skip if you can't be bothered reading it!
A little history for context. Way back in 2007 I purchased a Pocket PC, a Dell Axiom A30. It was a revelation! A small Windows 95 like computer running a compact version of .NET and Windows Forms. I also purchased a program called Basic4ppc so that I could program on the go with the Axiom as well as on the desktop and so I 'met' Erel.
All good things come to an end and with the demise of Pocket PC/Windows Mobile 6 and its replacement by the utterly awful, and ultimately doomed, Windows Mobile 7 and later series of OSes I reluctantly switched to Android, as did the creator of Basic4ppc and I became the first beta tester to help Erel develop Basic4Android that later became B4A.
Back in 2010 Erel was pretty pleased with himself for implementing a modal dialog in Android - only to deprecate it nearly 10 years later ?
Hi Andy,
...
BTW, I've now started working more seriously on B4A. I learned a lot since 2005 when I first developed Basic4ppc so I'm pretty optimistic about this new project. Already implemented a good old blocking msgbox (was pretty complicated to do)
...
Regards,
Erel
I stopped using B4A in 2014 out of disgust with Google's business practices and for a while small Windows tablets looked promising. On them I could run my own private version of Basic4ppc which I have kept enhancing over the years into a full blown desktop IDE. However these small tablets never took off in the market and became unobtainable with any decent specification so in about 2018 I returned very reluctantly to Android, even more disgusted with Google but with no other alternative, and started relearning B4A which had grown somewhat during my absence.
I still wanted an on-device IDE and I have a Basic4ppc language interpreter that I wrote in C# for Basic4ppc and have kept polished over the years and which I had translated to Java and B4A as the BasicLib library. So I started implementing an on device development based upon it. Now with Basic IDE Suite version 3 we have the apotheosis of my efforts over the years.
BasicIDE Suite 3 details
This latest vesion of Basic IDE Suite has three components.
Basic IDE, the on-device development environment which uses the BasicLib B4A library to provide the language interpreter for the IDE. This latest version has a modified editor that provides syntax highlighting and auto-completion for the B4AScript language, the Basic IDE Script extensions and the variable and Sub declarations of the current program. It has error line highlighting together with search and replace. A major addition to the Script extensions are non-modal versions of the original modal user interface dialogs, and the elimination of modal dialogs from Basic IDE itself, apart from the script break and step facility which requires it. There is a discussion of modality and its implications in Basic IDE and its program in a topic in the help file for Basic IDE.
Basic IDE Designer, an on-device visual designer that is used to produce view layouts for use in Basic IDE programs. This latest version can provide both landscape and portrait variants.
Basic IDE Launcher, an app that can quickly run a selected Basic IDE program and whose project can very easily be copied, slightly modified and recompiled by B4A to produce a stand-alone APK of a Basic IDE program that can be installed to a device and run independently as a normal B4A app.
Before extracting the BasicIDEHelp zip file it should be unblocked by right clicking on it in File Explorer, selecting Properties and checking Unblock at the lower right of the General tab. This allows the .chm help files to be properly displayed by Windows. If the .chm files are not unblocked their content will not be available in the Windows help viewer. Read the BasicIDE chm help to get started. I note that the Installation topic in the Overview section implies that the help files are in BasicIDELibraries zip, they no longer are and now have their own archive.
If this all looks a bit daunting that is because it is, although once everything is in place on the device things are pretty straightforward. Remember that this is a full design and execution IDE for non-trivial Andoid apps so it was never going to be simple - I don't usually do simple. Enjoy
EDIT: There seems to be a bug in Android 11 keyboard handling that affects the Designer. See post #7 below.
EDIT2: The new IIF function in B4X v11.0 broke the Script module version replace it with the version in post #9
EDIT3: B4A v11 barfs on an unneeded manifest entry in the Launcher. Remove the last line
AddManifestText(<edtSource android:imeOptions="flagNoExtractUi|flagNoFullscreen" />)
EDIT4: See posts #15 and #16 for how to add a 'flinging' capability to the editor for much easier navigation
Attachments
Last edited: