Smart Mobile Studio

Smart Mobile Studio IDE

Smart Mobile Studio IDE

The market has spoken: single source, multi-platform, HTML5 based, client-server application development is the future. Finally a “write once, run anywhere” solution that delivers!

Presenting Smart Mobile Studio, the most advanced integrated development environment for authoring cutting edge HTML5 mobile applications.

Our product gives you the power to accomplish your tasks quickly; taking advantage of true object-oriented programming typically reserved for “real” languages, Smart Mobile Studio is transforming JavaScript development from the ground-up. If you remember Adobe Flash – this is what Flash should have been. It’s a game changer.

Object Pascal + HTML5 = Awesome!

Smart Mobile Studio delivers unprecedented JavaScript power through it’s advanced compiler technology and cleverly crafted RTL architecture. By authoring your applications in Smart Pascal, the compiler is able to generate true object-oriented JavaScript with all the benefits of traditional languages. Finally you can enjoy all the cool stuff C++, C# and Object Pascal programmers have at their disposal — but in the browser. No plugins, no special extensions. Just pure HTML5 and JavaScript.

The reason we are able to deliver this, is because our compiler is a real compiler – meaning that it generates code which makes use of a VMT (virtual method table) sculpted in JavaScript itself. It is the VMT that makes it possible to have classes and interfaces, and further virtual class methods which you can override and abstract.

What we did was take a real compiler and replaced the
assembler generator with our JavaScript generator

Worried about bloat? Dont be. The compiler generates human readable code, with no dependencies and no fuzz. So in short: finally JavaScript developers can enjoy true OOP in their projects, while Delphi developers gain access to the incredible reality that is Javascript and HTML5. Here are some of the features Smart Mobile Studio brings to JavaScript:

  • Classes
  • Partial classes
  • Class helpers
  • Records
  • Record helpers
  • Lambdas
  • Type checking
  • RTTI
  • Inheritance
  • Polymorphism
  • Property Accessors
  • Virtual and abstract methods
  • Private, Public and Protected members
  • True JavaScript visual components
  • True browser independence

And naturally, the generated JavaScript is 100% pure! No dependencies, no plugins, extensions or “surprisingly” massive libraries – just your Smart Pascal code compiled into raw JavaScript. Lean, mean and fast! Your code now runs on any platform, in any HTML5 compliant browser – and with Phonegap you can even go native with 3 simple steps. That’s pretty cool!

And you don’t need an emulator or expensive Apple account to test your own code. Simply run the application inside Smart Mobile Studio (it has a built-in web server), point your mobile browser (iPad, iPhone or Android devices) to the URL and it works! Just make sure the device and computer is on the same network (e.g: same wireless router) so the IP addresses match up. No need for an Apple account just to test your own software, no need for a bytecode compiler just to test your own gear — write, compile & run — that’s it.

If you like typeScript then you will love Smart Mobile Studio!

Cut development time by 70%

It sounds like a slogan from the 90’s we know, but in this case it is true – and you are welcome to test the validity of our statement yourself. By taking advantage of classical object orientation coupled with a rich, carefully crafted RTL (run time library, huge collection of ready to use classes and code), JavaScript developers saves months of development time.

Our RTL is not written in JavaScript and appended to your code;
It’s written in Smart Pascal and is compiled with your program.

Focus is automatically moved away from getting library X to work with library Y to cherry picking the features you want and then writing the solution. So all the complex and time-consuming tasks which would otherwise cost a fortune to deliver if hand written — is leveraged and reduced to days and hours as opposed to weeks or months.

Out of the box you get ready-to-use classes to deal with:

  • Forms and display
  • Form effects
  • Custom controls
  • Tweening
  • High speed CSS3 sprites
  • Modal dialogs
  • File storage
  • Database storage
  • NodeJS Client / Server
  • WebSockets
  • High end graphics
  • CSS3 hardware acceleration
  • Polygon and vectors
  • Mouse and keyboard capture
  • Touch and mouse tracking
  • Encoding and decoding
  • JSon serialization
  • Client and server programming

The benefits of true OOP indirectly affects things like updates and maintenance in a positive way; For example: keeping track of 2.000 lines of neatly organized Pascal code is obviously easier than wading through 20.000 lines of JavaScript. Applications written in Smart Mobile Studio are by nature, due to the pascal language, better organized, easier to understand, easier to debug, and by consequence –your time to market is radically improved.

Why waste 2 months of work when you can do it better in 2 days? Our IDE even comes with time-saving wizards for tasks like “embedding file-data inside images”. The files can be loaded back by a pre-made class and you avoid the limitations imposed on you by the browser. It’s right there ready to be used.

Re-usable code and custom components

Smart Mobile Studio comes with a rich class library (RTL) and visual component library (VJL) ready to be dropped into your projects. Since object orientation (OOP) is all about inheritance and re-usable code, creating your own classes and visual controls is fundamental. But once you learn the ropes (which takes less than 1 day) you’ll knock out hardcore HTML5 apps like never before.

Smart Pascal reduces the complexity of creating your own widgets by means of it’s clever RTL architecture. Component authoring is often seen as a task reserved for the elite, something engineers and software vendors do. But this is not the case here. With but a little knowledge of Smart Pascal, writing your own components is enjoyable and fun. It’s also a time-saver since you can re-use those components in the future.

When you have written enough components, or perhaps you want to sell your components to other users, you can isolate your components in a package. This package can be installed into the IDE – and the components are instantly usable from the GUI designer. Smart Mobile Studio is also capable of rendering a “live” view of your controls – because the Chrome HTML5 engine is built into the product.

Client-Server programming

Need to communicate with a nodeJS server, or get some information from a JSON RPC service? This is an area of web technology that most developers shun due to its complexity. The amount of code required to read, update and synchronize a remote dataset quickly reaches the tens of thousands in raw JavaScript.

Thankfully the Smart RTL ships with ready to use classes for talking to the latest server technology, so working with remote data and server calls becomes enjoyable and rewarding. But we also took it one step further and added built-in support for popular frameworks like Remobjects and Embarcadero Datasnap.

Compiler technology

Unlike our competitors we set out to create a real compiler. There are many “language converters” on the marked but most of them suffer from being hobby projects which take unsuspected, crippling shortcuts. Either way, none of the offerings today  allows you to write your own components with true inheritance. There is a lot of false inheritance (like RealBasic) and a lot of hype – but so far only SMS delivers true OOP. Not even Microsoft Typescript delivers what we do. Smart Mobile is years ahead of its time.

So why are we so special? Well, what we did was take an already existing real compiler and replaced the machine-code generator with our JavaScript generator. That is no small achievement. So where our competitors tend to map a fixed set of functions between languages, our compiler actually sculpts the virtual-method table according to your code.

Our RTL is not written in JavaScript and appended to your code. It’s written in Smart Pascal and is compiled with your program.

Since our foundation is an already existing and “real” compiler, the quality of the generated code is far beyond anything else out there. No other JavaScript compiler on the marked is presently able to deliver the features we offer.

Integration with third-party libraries

Smart Mobile Studio can make use of already existing JavaScript libraries with ease. But we also support typescript declaration files – meaning that you can import and make full use of typescript components as well (!).

Being able to integrate with existing libraries to such an extent is another example of how advanced and flexible our compiler and RTL architecture is.

Run your own client-server empire without real code!

Have you heard about nodeJS? What exactly is it? Basically nodeJS is a JavaScript engine for the server, just like good old ASP was a visual basic engine for Internet Information Server. NodeJS is exactly the same – but with one fantastic advantage!

The fact that you can now write server software and client (browser) software using JavaScript means that you are home free! It means that you no longer have to worry about the expense of renting a real-live server for your Delphi “real” win32 services (or C++ services for that matter). You can now author both the server and client using the same package: Smart Mobile Studio.

With nodeJS you no longer need the help of RemObjects, DataSnap or any of the other frameworks out there. You can roll your own with very little work. Now before you think Remobjects or Datasnap is superficial, take a moment to think about it. These frameworks provide much more than just sending data from A to B – and it will take some effort to replicate these products using nodeJS alone.

But the good news is that you now have the power to write both the server and the client, accessible from both websites, mobile apps and native applications (be it Delphi, C++ or Objective C) using the same codebase.

Where you previously had to rent a dedicated server for $1000 a year just to get your Delphi service up and running, and then a $250 mySQL server — you can now kick back and pay $50 for a mongoDB server and host your server on a free nodeJS provider (!)

It’s the fourth generation of coding — and it’s ready to be used by you!

Want to learn more?

If you find this interesting then you are welcome to visit the product website and download you trial version. If you have some background in Pascal or Delphi then writing code for the browser will come natural. For JavaScript developers there is a great introduction to Delphi here – with plenty of examples. Also check out the Smart Mobile Studio book.

Please note: that there are some differences between Delphi and Smart Mobile Studio. The browser does not support pointers, so naturally examples in Delphi that uses pointers will not work. Classes in our RTL are typically prefixed with W3 (www), so what is TObjectList in Delphi is TW3ObjectList under Smart Mobile Studio.