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

All new Smart Mobile Studio

Posted on 23.01.2012 by Jon Lennart Posted in Developers log 4 Comments

For the past week and a half things have been quite calm on our website, this is not due to lack of work but rather focusing on some of the more tricky aspects of the IDE. So here they are in no particular order:

Alternative rendering

As an alternative to Chromium I attempted to wrap the Opera DLL’s last weekend, but the differences between Safari and Opera (both style and javascript wise) were to large – so I decided to drop it. Chrome is the browser most compatible with Safari (they both use the same webkit foundation) and as such we will stick with TChromium. We also had to backtrack to find the most stable version of TChromium since the latest revisions simply don’t work as expected.

Keyword proposal

Keyword proposal now works as expected

Keyword proposal now works as expected

This is an issue that has been driving me nuts for a while, but finally I tracked down the bug (wrong cache pointer .. sigh) – and Smart Mobile Studio now have keyword proposal in the box. We will naturally aim to expand this into the realm of code-completion and other advanced features in the future.

XML file format

In the first versions of the Alpha release we used a custom binary file format. This file format is now replaced by a proper XML format, making it easier to expand the system with new options and data without breaking backwards compatibility. You will need to copy and paste out your units to make the transition though, but it’s a small price to pay for a more versatile system. The new file format also supports external unit files (much like Delphi has by default) and we added a recursive search method to locate implicitly referenced units. Also, a new folder as been added to the mix: “libraries”. If you have made some utility units place those files under IDE/Libraries and the IDE will automatically find them.

What’s next

Once we have completed some of the tickets on fogbugz the final battle begins, namely offscreen rendering of components and the visual form designer. Then we brush up on the look & feel of the IDE and give the standard components more features and bling — then it’s release time.

Crack open the Redbull, im ready to rock 🙂

« Variant is your friend
Smart Mobile Studio Alpha 4 »

4 thoughts on “All new Smart Mobile Studio”

  1. A. Bouchez says:
    24.01.2012 at 08:44

    Code completion was indeed a need. Very nice!
    What about code navigation (Ctrl+Shift+Up or Ctrl+Click)? This is IMHO mandatory for an IDE.
    Using XML instead of plain binary is a good idea. Did you consider using JSON instead? It more lightweight and human-friendly IMHO.
    In all cases, when working with big projects (which is the aim of SmartStudio, isn’t it?), plain text format is better than binary, at least for working on team with a SCM.
    Do not drink too much Redbull, a bier may help better – you need to sleep in order to maintain a fresh mind! 😉

    • Jon Lennart Aasenden says:
      27.01.2012 at 08:57

      Sorry for the late reply here, the server had deleted your post from the inbox.

      Yes, code completion was awsome to get in place. It has been pestering me for a long time so it’s nice to see it working properly. As for JSon as a fileformat – I use NativeXML by Nils Haek, which is free and very, very good. Smart Mobile is a Delphi project after all, so there is no reason to use JSon for the project files.

      As for size, Smart is growing for each day 🙂 We have a set of functionality we want to see in v1.0. The rest will have to wait for v1.1 ++. We all have to start somewhere.

      PS: I cant drink to much beer, it makes me sick. A glass of wine with food at night is nice though 🙂

      • A. Bouchez says:
        27.01.2012 at 10:12

        OK, if you come around the French riviera some day, please tell – I’ll offer you some good wine – and would enjoy discussions about Object pascal! 🙂

        • Jon Lennart Aasenden says:
          30.01.2012 at 16:43

          Sounds good! Will do 🙂

Comments are closed.

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