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

Author Archives: Smart Mobile Studio Team

Smart Mobile Studio 1.0

Posted on 16.05.2012 by Smart Mobile Studio Team Posted in News

We are proud to announce that Smart Mobile Studio version 1.0 is available!

Smart mobile studio is an exciting new development studio for web developers. It’s key feature is that it completely replaces javascript with object pascal. Our advanced compiler technology takes your object pascal source-code and transforms it into state of the art, cutting edge javascript which can be executed by all modern browsers.

Smart Mobile Studio IDE

Smart Mobile Studio IDE

Smart mobile studio comes complete with an integrated development environment containing everything you need. The IDE draws on many different sources but is primarily influenced by Embarcadero delphi and the C# mono project. Those coming from a delphi background will find that the similarities are more than striking: the keyboard shortcuts are the same, the general layout of the IDE is the same, and the way you work with units (source code files) is pure object pascal.

Download your trial edition

You can download a 30 day trial version of Smart Mobile Studio. The trial edition have a few limitations:

  • Smart linker is disabled
  • Code packing is disabled
  • Obfuscation is disabled
  • Optimization is disabled
  • Verbosity is disabled
  • CSS as external file is disabled

The compiled javascript application also informs the user that the app was made in a trial version of Smart Mobile Studio. These limitations are removed when you purchase the full version.

Pricing

We offer a yearly subscription for only $399. The subscription model means that you get full access to:

  • All IDE improvements, fixes and advancement
  • All updates to the visual javascript component library
  • All updates relating to the compiler, pre-processor and code generator
  • Help via email and forums

Sincerely

The Smart Mobile Team

release

Steema TeeChart converted to Smart

Posted on 26.04.2012 by Smart Mobile Studio Team Posted in News 4 Comments
TeeChart running under Smart

TeeChart running under Smart

Steema Software should be no stranger to Delphi, C++ builder or .net developers. They have been producing cutting edge charting components for a long time and are synonymous with quality components.

We are extremely excited about Steema converting their TeeChart component to Smart Mobile Studio, and cant wait to hook it up to our upcomming database layer.

It was with some enthusiasm that we watched Teechart appear on our iPad, iPhone and Android devices!

Sincerely

The Smart Mobile Team

Beta1, components and layout

Posted on 18.03.2012 by Smart Mobile Studio Team Posted in News 11 Comments

It’s a been a while since we published anything about Smart Mobile Studio, but that doesn’t mean we have been resting on our laurels. Quite the opposite. We have been busy with the final step of the project – namely the visual designer. We know that people have been waiting for our first beta release – and you will not be disappointed! So while we are tinkering on the final bits, here is a status report of what we have been up to.
Continue reading→

Smart hits the local news

Posted on 27.02.2012 by Smart Mobile Studio Team Posted in News

Last week we had a visitor from a Norwegian newspaper (Østlandsposten) that wanted to know more about Smart Mobile Studio. Today we found a nice surprise in the news – a whole page about Smart. Some of the technical issues have sadly been omitted and the reporter got a couple of things wrong (the paint example below was not made by us but rather donated by Primoz Gabrijelcic). But either way – its always nice to have our effort recognized.

Østlandsposten, monday 27 feb. 2012

Østlandsposten, monday 27 feb. 2012

 

Sincerely

The Smart Mobile Team

Gearing up for final alpha

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

As we approach the final alpha release of Smart Mobile Studio and entering the beta stage, the IDE is really starting to feel more and more like Delphi. It truly is the attention to little things that makes an IDE work in real life – and Smart Mobile Studio is no different. So what can you expect to find in the upcoming versions?

Automated editing

No place like home, the Smart IDE in action

No place like home, the Smart IDE in action (blue skin optional)

Basic IDE functionality includes the ability for the environment to alter your source-code. To poll this off the IDE must know things like where does the “unit” keyword appear in a source-file? It must also tell the difference between the interface and implementation section of a unit and other important things like where in your code a class is defined.

We are happy to say that this functionality is now under wraps. So when you rename a unit from the project tree view, the source-code is altered accordingly. But of-course this type of functionality has a lot more going for it – because it forms the foundation on which the layout designer rests. The designer must by its nature have access to the source-code and it must also be able to add, alter and remove sections of a unit.

And we are going to alter the “form designer” formula slightly, with less mess and less data in the final compiled application. You will just have to wait and see how cool it is.

Better browsing

The browser window has also seen a radical change. We used to limit the view to iPhone only but have now removed the iPhone background and opted for several sizes. So now you can check how your app will look on your iPad, your webkit browser (any size) and various other standard measurements.

Components and packages

In version 1 there will be no support for individual source packages, but we have designed a system that will make it very simple to get your own components into the design-cycle. The IDE will have a normal ini file where you can register components. To install a new component or a series of components, just add a new section to the ini-file, register each component (syntax pending) and copy the unit(s) to the library folder. Then go to the Tools menu and click “Rebuild RTL index”.

Faster class browser

The previous class browser parsed and scanned each unit on startup which caused a noticeable delay. The new class browser will extract it’s information from the RTL index which is basically a database table covering ever aspect of the registered RTL units and libraries. The final outcome will be super-quick and allow for click-able links. So if you click on an ancestor class, it will instantly browse to that class. Very handy and more natural. You can also go directly to the RTL source-code and check out the implementation.

 

Sincerely

The Smart Mobile Team

Upcoming features

Understanding smart

Posted on 08.02.2012 by Smart Mobile Studio Team Posted in News and articles
Compiler technology

Compiler technology

First, we are extremely grateful for all the positive feedback and questions regarding Smart Mobile Studio! We cannot underline enough how the enthusiasm really makes us work that much harder to deliver a knockout product that will serve the community for a long time. It is indeed clear that we have hit “bulls eye” and a serious gap in the modern programming model can now be filled. We are equally excited to that the emails stem from every corner of the software developing world, from the Delphi community, the C# community and believe it or not -the javascript community itself.

This is quite possibly the most significant Pascal
development to be watching right now, and brings
the wonderful Pascal language to the world of
Internet development! -Simon Stuart, Delphi developer via Google+

Since so many people have asked more or less the same questions, it would be a good idea to outline just what Smart is and what it does, so that people can appreciate even further the depth and broad application of what we are building and what we hope to achieve.

The compiler

Like all code generating systems, the Smart compiler knows only a handful of things. It knows how to handle units (source files), procedures, classes, enumerations, assignments and other important language features. But on it’s own the compiler have no “built in knowledge” of neither what a browser is or what a control looks like. A compiler and code generator is a very complex piece of software that is able to take your source-code, break it down and transform it into something else. Which is javascript in our case. But it could equally have been machine code or C#.

Beginners will discover a language that has withstood
the test of time with unparalleled elegance.

This is where Smart differs radically from a lot of the other products on offer, namely that its built from the ground up to be “real”. Where other HTML5 products out there have a fixed set of classes, and knowledge of what you are allowed to do is pre-determined by the vendor – Smart has more in common with a classical C++ or Object Pascal environments where you are in charge.

The VJL

Just like in Delphi

Just like in Delphi

As you should expect, all the components and classes that ship with Smart was actually coded in Smart itself. We also ship the source units for our RTL (called the visual javascript library, or VJL in short) so that people can examine, learn and also make changes if they want to.

The underlying [RTL] work must have been tremendous -Michael Thuma, Delphi developer via Google +

You could in fact replace the entire RTL with your own version if you so desired. And that is something that no other mobile development studio on sale today can match. They all come with a predefined set of classes, and in the majority of cases these are closed API’s. Meaning that you dont have access to the source.

Smart blows this to pieces just like Borland Delphi once did. While the list of classes you get for free out of the box is to large for this document, the most noteworthy are:

  • TW3Component and TW3CustomControl
  • Full implementation of HTML5’s canvas
  • CSS animation classes
  • Font and bitmap handling, both on-screen and off-screen
  • Buffer classes and buffer-view classes, painstakingly implemented from the WC3 standard
  • Form classes, TApplication and smooth scrolling when navigating between forms
  • Timers, style mapping and much much more

And of-course, with a real compiler you can create as many classes and components as you wish. And you don’t have to be a javascript guru to do so. All you need is some basic understanding of object pascal and you are set to go.

Boundless possibilities

Just like you can create anything under the sun with Delphi, C++ builder or C# due to the fact that these environments have a real compiler – you can create anything you like with Smart Mobile Studio. Smart both compiles to and can interface directly with javascript – which means that whatever javascript can do, Smart can do.

Cool! I created my first OP4JS control: a DHTMLX grid
-André Mussche, Delphi developer via Google +

Smart Mobile Studio, early Alpha

Smart Mobile Studio, early Alpha

It is by definition impossible to say what people will use Smart for. So far people have created games with it, connected to remote web-services, displayed database grids, added control bindings, created fantastic fractal explorers and much, much more. Just like Embarcadero ignited a firestorm of creativity on the Windows platform – our aim is carry that fire into the next frontier which just happens to be the browser.

So the question is not really if Smart Mobile Studio can support feature X. If you can sculpt it in either JavaScript or Object Pascal, then Smart can support it. We will provide you with the Visual Component Library and all the tools you need to create and interact with HTML5 and the latest web developments. We will also work hard to provide you with a standard set of components – but also give you the option to extend our technology with your own packages and components.

Nothing is impossible

Smart Mobile Studio is a vision and an idea. An idea brought to the table by Jon Lennart Aasenden, and embraced by the management at Optimale Systemer AS and a some key developers in the Delphi community. It was by many said to be impossible, if not heretical. When we presented the concept for the general public back in December 2010, it was met by applaud from the few and ridicule by the many. To make it a reality we have worked extremely hard, considering the technical difficulties involved.

Right before Christmas we shipped the first Alpha version, and some smart programmers of the Delphi community immediately created some stunning demos and thus proved the concept right.

And now, in February of 2012, the product has matures further, and we can proudly say that the vision has become a reality.

This tool should really get a place be in every Delphi developers toolbox.

 

Sincerely

The Smart Mobile Team

HTML5 javascript Pascal Smart Mobile Studio

Smart Mobile Studio Alpha 4

Posted on 30.01.2012 by Smart Mobile Studio Team Posted in Announcements

Today the fourth alpha release of Smart Mobile Studio is being issued to testers around the world. While the cosmetic changes are modest there is a lot of new and exciting stuff in both the compiler and IDE. First, let’s go through some of the new features introduced in this build:

Changes to the IDE

  • Keyword proposal support
  • Image to source-code converter
  • Compiler message panel
  • More project options, especially compiler switches
  • Font name, size and color support in preferences
  • Background color support in preferences
  • Support for external .pas files
  • A new project storage format (XML)
  • Support for external .pas files in the libraries folder
  • No more compiling to a temp folder, all projects now creates a bin folder for it’s compiled output
  • The IDE no longer flushes the target folder, so you can safely add your own files without them being removed on compile
  • Infrastructure to support smart linking (not yet activated due to a bug in Delphi XE)
  • More keyboard shortcuts (better Delphi “feel” to the interface).

Changes to the compiler

  • Smart linking of units
  • Closure support
  • Variants are now fully fledged javascript objects, which minimizes the use of the ASM keyword
  • Plenty of speed updates and better performance
  • .. and much more! (DWS changelog)

Changes to the RTL

  • Fixed a bug in TW3TouchData consuming the wrong event buffer
  • More functions to work with images and off screen graphics
  • Fixed a minor bug in TW3HttpRequest

We finally have a open, web based forum up and running – so if you have any questions or want to share some code, navigate to http://smartmobilestudio.com/forums/ and join the community (!)

Keyword proposal

Having the IDE integrate with your source-code is no small thing, but it’s also that little extra that makes the code base come alive. A good keyword proposal engine is also instrumental in learning a new RTL (without having to constantly look at the source or study the class hierarchy).

Keyword proposal

Keyword proposal

As always is the case with alpha software you can expect some bell’s and whistles – but these will be ironed out as we move along towards our goal.

As of writing support for constants and properties are not yet in place but now that the foundation is in place – these will be in place by the next update.

Image to source-code converter

Since HTML5 applications allows you to embed images directly into your HTML documents (or as CSS properties) we decided to build a little tool to simplify this process. Simply point the wizard to the image-file you want to convert, click one button – and it will be converted to text (base64) and copied to your clipboard.

Image to source converter

Image to source converter

For an excellent example of how to use encoded images inside your Smart Mobile application, check out Primoz Gabrijelcic’s remake of the classic Delphi TSmiley example. The original TSmiley was an example put together by Delphi icon Nick Hodges many years ago, and has somehow stuck with the object pascal community in near mythic proportions.

Compiler message panel

Just like ordinary Delphi or Lazarus the compiler engine uses by Smart outputs hints, messages and warnings in response to your code. Being able to review and work with these messages is of-course a must – so we are happy to finally have a compiler message panel in place. Whenever you compile your project it will display messages and information about the compilation process – making it a snap to locate errors, remove unused variables or take better precautions whenever the compiler finds a weak spot.

Compiler message window

Compiler message window

More preferences options

SynEdit (the editor we use in our IDE) is a component that have seen many, many years of development as is regarded as a “classic” in object pascal circles. As such there are a lot of options you can adjust to personalize it. We want to expose as many as possible, and we will keep adding more and more options to our preferences window for each build. In this alpha release we have added better font support and more control over background and text colors.

Preferences is growing

Preferences is growing

 

 

Sincerely

The Smart Mobile Team

alpha release

Alpha program

Posted on 02.01.2012 by Smart Mobile Studio Team Posted in Announcements 8 Comments

A very early pre-release (alpha) of OP4JS was released just days before Xmas. To be honest we were pleasantly surprised by the demand for the alpha. We now have close to 100 testers which have committed feature requests, bug reports and fixes. This is invaluable for our work and will shorten development time radically. So a huge thanks to everyone that is contributing (!)

Official name

OP4JS is just a codename or “nickname” for the in-house project. A while back we decided to dub the product with it’s official title: Smart Mobile Studio. While this website (www.op4js.com) will continue to be in use for a long time, we will sooner or later switch to our new domain. The documentation will also use Smart as the product name.

New participants

We don’t want to block people out of the alpha program, but we are reaching the stage where we have to stop taking on new users. There are still a few slots open but the alpha group is just about full.

Having said that, our beta program will begin as soon as we have ironed out bugs and implemented the improvements and features in the ticket system.  If you missed the alpha then you are more than welcome to join our beta program.

 

Sincerely

The Smart Mobile Team

release Stable release

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)
  • Prev
  • 1
  • …
  • 3
  • 4
  • 5
© Optimale Systemer AS