Smart Mobile Studio
  • News
  • Forums
  • Download
  • Store
  • Showcases
    • Featured demos
    • The Smart Contest 2013, Round 1 – Graphics
  • Documentation
    • Get the book
    • System requirements
    • Prerequisites
    • Getting started
      • Introduction
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • Themes and styles
    • Project types
      • Visual project
      • Game project
      • Console project
    • Layout manager
    • Networking
      • TW3HttpRequest
      • TW3JSONP
      • Loading files
  • About

Monthly Archives: December 2013

Smart Mobile Studio 2.0 beta 2

Posted on 22.12.2013 by Smart Mobile Studio Team Posted in Developers log 2 Comments

We have received lots of useful feedback from the first beta version of v.2.0. Though, there were more issues than expected, which is why we decided to add another beta version that fixes several critical issues. The current beta should now work quite smooth, despite several minor issues that need some fixing until we have a final release (see ‘Known Issues’).

Licensing

With the new beta version, we also updated the license system, which means that new license files are required. For testing/demoing a beta license is included in the installer. Keep this in mind when you try to run the beta with your old license file (will not work) and use the license file provided by the installer.

The beta is open for everyone, so no registration is required to demo our product.

Changelog

For a full list of changes for Version 2.0, please see the dedicated post “What’s new in Smart Mobile Studio 2.0”

In addition to that here’s a changelog from the previous beta version.

Fixes

  • No AV for event “building” (on component/event doubleclick) anymore
  • Copy, Cut & Paste were not working (properly) in Visual Designer
  • RTL indexing (but still not properly used)
  • Better [CTRL]+[DOWN] (goto implementation), sometimes navigated to a slightly wrong position
  • Removed some memory leaks
  • Fixed unicode issue in visual designer (see ‘Known Issues’)
  • Some preferences were not saved properly
  • Commandline compiler now works with missing templates

Changes

  • Command line compiler is purely command line now (smaller size)
  • Faster loading of visual designer (delayed loading of ‘Live Preview’
  • Improved ‘File’ menu structure
  • Menu item ‘Preferences’ moved to ‘Tools’
  • Improved ‘Options’ dialog (compiler tab)

New Features

  • Added package for Grid
  • Added ‘Save As…’
  • [ALT] + [DOWN] will cycle through components in visual designer
  • Added some wordstart editor commands, but yet partly occluded by IDE shortcuts

Download

Download the beta 2 installer [89 MB].

Known issues

Compiler/Codegen

  • Application title is typically not transported to HTML file (case #931)

RTL

  • Packages can not yet contain CSS code for styling

IDE

  • Minor glitches in source code proposal dialogs (items missing, in particular in .spr file) (case #930)
  • Some available Wordstar shortcuts conflict with other shortcuts (case #723)
  • Source scanning update interval internally fixed to 1000 ms, regardless of the settings (case #926)
  • [CTRL]+Click does not work for scoped unit (case #641)
  • Microcontroller (Espruino) support still experimental (will be official available in mid-January, cases #797, #819)
  • Unicode issues for some non-common, foreign characters (case #913)
  • New Visual Designer issues
    • Components might get invisible (use instance select combobox, case #875)
      • Opacity = 0
      • Beyond boundaries / off screen
      • one dimension is zero
    • Multi-select not yet working (while it appears to be, case #903)
    • Bring to front / send to back might not work properly (case #917)
    • Non-Nudgeblock feature not yet available (case #888)
    • Live Preview is only working in legacy mode (will be updated in v2.1)
  • Welcome Page outdated and not customizable (case #899)

—
Sincerely,
The Smart Mobile Studio Team

Beta release

New Package Manager

Posted on 22.12.2013 by Smart Mobile Studio Team Posted in Developers log

PackageWith version 2.0 we have spent some precious development time into a new package manager. Similar to other solutions it allows to separate components into packages  that can be independently installed in the IDE. Although there is no imminent need for it right now, it opens the IDE for 3rd party and user components that can be integrated into the RAD environment easily.

Steema BergWhile there is still some work ahead to iron out some teething problems in the upcoming beta version, it is already used in combination with the new visual designer and its basic set of components, called the “Smart Component Library” (SCL). In addition to the basic set of components, two additional 3rd party packages are shipped with the product TeeChart.spk (by Steema Software) and Grid.spk (by Berg Software). The packages are built to integrate neat-less into the IDE’s component palette.

Furthermore we added an example package called W3Slider.spk with embedded source code. It is designed according to the all-in-one-file approach, that can also be used for the project. With packages designed like this, installation can be as easy as dropping the spk file to the ‘Packages’ folder. In the future we will also add support for encrypted package source code, so that it is possible to build closed source packages.

Implementation Details

While the amount of changes (compared to Version 1.x) in this regards seem to be very little, it meant infact to rewrite the entire chain of handling components (in the component palette, visual designer & property inspector) from scratch. Previously all components were “hard coded” in Delphi, which means for every new component we added, we needed to update the component palette, add a dedicated Delphi component for the visual designer & property inspector, convert from Delphi to DWS at compile time and handle property storage in form file. All this code was convoluted in several manners and one couldn’t change one part without affecting other parts in the IDE.

Since we wanted to rewrite the visual designer, we had to rewrite the entire package system as well. Despite the fact that the development of version 2.0 took longer than expected, we now have a system that is perfectly decoupled in the aspects of package manager, visual designer, component palette, property inspector and form handling. It will allow us to maintain and improve each aspect separately. Also it will be possible for us in the future to switch to a JavaScript powered designer, which might allow you to create your layout on the destination device (e.g. iPhone) directly. This allows you to let a designer or even the management redesign the GUI remotely while you can focus on the code…

XMLBut let’s stick on what we have now, let’s stay on topic! The packages are basically in a similar XML format as your projects, which means you can – in case of emergencies – edit (and eventually fix) the packages at any time. This can be quite useful, since at the moment the GUI part of the package manager is limited to the essentials. For example it’s not possible at the moment to specify different categories for different components in one package. So far you may only specify one category per package, while the packages would allow an even more detailed specification of categories (per component). Also it’s not yet possible to change/specify icons for a component other than by editing the package files.

But of course you don’t need to know all the details if you only want to work with the packages, so let’s move on to the next chapter.

Package installation / usage

PackagesThe installation of packages is very easy. All you need to do is to drop the package to the ‘Packages’ subdirectory.

Note that it might also be necessary to add glyphs for the component palette to the glyphs directory, but that depends whether the icons are specified internally or externally. At the moment a basic set of (external) glyphs is shipped with the product. We decided to make them available externally, so you can change them anytime to your favorite set of icons (the current icons are not always as clear as possible).

Once you have added/removed a package to the package subdirectory you have to restart the IDE in order to get the packages enumerated and listed in the component palette. If you have deleted a package, it will remain in the IDE’s cache until you restart the IDE.

After the packages have been installed, you can use the components in the same manner as you used the components in version 1.x.

Continue reading→

Upcoming features

Smart Mobile Studio 2.0

Posted on 09.12.2013 by Smart Mobile Studio Team Posted in Developers log, News 3 Comments

This is a list of all changes since the last official release (1.1.2).

Compiler

New functionality

  • Added command line compiler smsc.
  • Added support for external variables and external class variables.
  • Scriptable HTML templates and CSS scripts.
  • CSS is compressed during compilation.
  • New ways to include an external resource:
    • {$R ‘resource.js’} or {$R ‘file:resource.js’} will copy the resource to the ‘res’ folder during compilation and link it into the program (‘<script>’ statement will be generated in the HTML code or ‘require’ will be generated for NodeJS code).
    • {$R ‘http://server/path/script.js’} or {$R ‘https://server/path/script.js’} will just link the code to the program without copying anything.
    • You can specify MIME type for the resource by prefixing it to the resource name: {$R ‘text/javascript:http://server/path/file.php’}. If the MIME type is not provided, it will be generated automatically from the extension part of the resource name.
  • Compiled program is stored in a ‘www’ subfolder (previously it was stored in a ‘bin’ subfolder).

Improved functionality

  • Improved codegen for static and static sealed classes.
  • Improved codegen for “new JObject”.

Bugs fixed

  • Fixed various codegen problems related to constant arrays, external classes and nested records.

RTL

New functionality

  • Added support for the Espruino microcontroller.
  • Added wrappers for JavaScript functions prompt() and confirm().
  • Added support for Android Home Screen applications (http://www.delphitools.info/2013/10/16/chrome-web-apps-in-android/).
  • Added TMetronome class (http://www.delphitools.info/2013/10/18/time-stepping-for-games-and-simulations/).
  • New units: w3WebWorker, w3c.WebSpeechAPI, Chrome.Serial, Firefox\Bluetooth.
  • Added methods to the w3colors unit.

Improved functionality

  • Redesigned (faster) GameView.
  • Improved TW3Button with ‘pressed’ state.
  • More IE shims.
  • Improved W3Effects.
  • Improved ColorToWebStr.
  • Improved TW3BufferedImage.SetSize.
  • Improved compiler messages window.

Bugs fixed

  • Fixed System.Diagnostics performance timer fallback (for Safari).
  • Fixed HSL delta methods in w3colors.

IDE

New functionality

  • New visual designer.
  • New component package manager.
  • New project file format, incompatible with older Smart versions. Projects are now stored with a .sproj extension and forms with a .sfm extension.
  • New, XML-based preferences file (preferences.xml) replaced INI-based file (preferences.ini).
  • Added NodeJS and WebWorkers project types.
  • Added tool that creates DataSnap service connector (Delphi Enterprise must be installed on the same computer).
  • Build automation with build scripts.
  • Source maps.
  • Lines/blocks can be moved up/down with Alt+Shift+Up/Down.
  • Internal browser allows taking screenshot of the running application.
  • Configuration option “Save projects before compilation”.
  • A project can be compiled and run even if it was never saved.
  • Implemented Open, Save, Save As, Save Project As.
  • Metadata information can be set for a project.
  • IDE state related to the project (open tabs, top line, bookmarks) is stored in the <projectname>.dsk file and is restored when a project is open.
  • Redesigned template (HTML and CSS) handling.
  • Ctrl+click ‘link’ highlighting.
  • Source code change bar to indicate changes (original, modified, saved).
  • Default project options for each project type can be configured.
  • Added compilation options ‘Automatically refresh in browser’ and ‘Handle uncaught exceptions’.
  • Added support for defining conditional compilation symbols on a project level.
  • Redesigned ‘run’ experience (http://smartmobilestudio.com/2013/10/12/new-ways-to-run-a-project/).

Improved functionality

  • Project title can contain spaces.
  • Custom HTML & CSS code is now separated from general resources
  • Better structure of project options (removed dead settings)
  • Application adapts to low-resolution displays.
  • Improved HTML highlighter, now supports embedded JavaScript, DWS, and CSS.
  • Dotted unit names are supported.
  • Snippets are stored in a separate folder, one snippet per file.
  • Redesigned server/internal browser forms and execution options.
  • Added shortcuts to toggle Compiler Messages and Mini Map visibility.
  • Improved renaming of units.

Bugs fixed

  • Code completion works in .spr files.
  • Highlighter preview (in Preferences) uses currently selected editor font.
  • Configured editor font is correctly displayed when Preview dialog is open.

Removed functionality

  • Compact toolbar.
  • Exit button in the toolbar.
  • Removed ‘Visual components project (New Project Script Demo)’ project type.

Other

New functionality

  • New demos: eSpeak, TransitionEffects, Complex Numbers.
  • Added touch and acceleration support to the “Box2D Demo” project.

Changed

  • Renamed some demos (removed ‘by XXXX’).

Removed

  • Removed demo “Box2D Integration”.
new Smart Mobile Studio Version 2.0

How to use Cordova

Posted on 07.12.2013 by Smart Mobile Studio Team Posted in Developers log, News

CordovaWhile the next version 2.0 is still not entirely ready, here’s a post about how your HTML5 application can be converted to a native application with Cordova (the open source base of PhoneGap). It’s a bit more tricky than with PhoneGap, but completely free of any costs and you don’t need to transmit your application to any server, which might be in times of NSA surveillance always a bit critical.

The tutorial below only covers the basics. If you want to use plugins to enhance the native experience (e.g. to access hardware directly), you need to consult the plugin’s documentation.
Continue reading→

Build Cordova Deployment how-to tutorial

Smart Mobile Studio v2.0 (beta)

Posted on 06.12.2013 by Smart Mobile Studio Team Posted in Developers log, News

Version 2.0 of Smart Mobile Studio will soon be ready for the release.

Over the last few days, we have distributed a private beta to some selected users, and now we would like to make this available for everyone.

We know you have been waiting for this – and so have we!

Download the installer and follow the instructions.

We hope you’ll be as excited about this release as we are 🙂

—
Sincerely,
The Smart Mobile Studio Team

beta release Smart Mobile Studio Version 2.0

Pages

  • About
  • Feature Matrix
  • Forums
  • News
  • Release History
  • Download
  • Showcases
    • The Smart Contest 2013, Round 1 – Graphics
  • Store
  • Documentation
    • Creating your own controls
    • Debugging, exceptions and error handling
    • Differences between Delphi and Smart
    • Get the book
    • Getting started
      • Introduction
      • Local storage, session storage and global storage
      • Application architecture
      • The application object
      • Forms and navigation
      • Message dialogs
      • pmSmart Box Model
      • Themes and styles
    • Layout manager
    • Networking
      • Loading files
      • TW3HttpRequest
      • TW3JSONP
    • Prerequisites
    • Real data, talking to sqLite
    • System requirements
    • Project types
      • Visual project
      • Game project
      • Console project

Archives

  • December 2019
  • December 2018
  • November 2018
  • July 2018
  • June 2018
  • February 2018
  • September 2017
  • April 2017
  • November 2016
  • October 2016
  • September 2016
  • April 2016
  • March 2016
  • January 2016
  • October 2015
  • September 2015
  • July 2015
  • April 2015
  • January 2015
  • December 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • November 2011
  • October 2011
  • September 2011

Categories

  • Announcements (25)
  • Developers log (119)
  • Documentation (26)
  • News (104)
  • News and articles (16)

WordPress

  • Register
  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)
© Optimale Systemer AS