Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

15 January 2011

Visage Roadmap

Based on what information I could gather from the discussions, Visage Issue DB, blog posts a clear enough picture has emerged on which to create a roadmap for Visage. Do note that the roadmap below is subject to change, some guesses have been made, and may not be entirely accurate.


Visage 1.0 (Beta 1) – 20 February?

  • Android 2 (eg 2.1, 2.2, and 2.3) and JavaFX 1 (eg 1.3) support
  • Default properties
  • Angle data type
  • Length data type (covering screen metrics, and metric measuring system)
  • Colour data type

Visage 1.0 (Beta 2) – 20 April?

  • Required properties
  • General built-in locale system for strings (locale lookup via fxproperties files)
  • Cascading properties
  • Map data type
  • Updated Android 2 library

Visage 1.0 (Stable) – 20 June?

  • Annotations support
  • Generics support
  • JavaFX 2 support
  • Basic tooling for Visage (eg programmer's text editor)

Post Visage 1.0

  • Basic built-in lookup system using cascading properties?
  • RTS (Reusable Type System)
  • Declarative functions
  • Add a more open license (BSD type one)
  • Application controller?

JavaFX 2 support will likely be delayed as much as possible to allow time to properly support the platform. Hopefully JavaFX 2 will be ready in time for its beta release. Some of the mentioned points may appear in earlier or later Visage releases. Main themes for Visage 1.0 is support for multiple development platforms (currently Android and JavaFX), enhanced property support, stronger platform API support, and additional data types.

16 December 2010

Android Support With Visage

Visage has achieved what no other language has done (except Java) with supporting Android without the need for wrapper APIs/libraries and a separate runtime. Most languages that run on Android require the use of ASE (Android Scripting Environment). ASE provides very limited support for the Android APIs, and worse acts as a wrapper which greatly limits performance, and heavily restricts what languages have access to in terms of Android functionality.

Already there is excitement with Visage supporting Android directly like Java without the need for extra baggage. One downside is that the Visage compiler has to do two compiles, one from Visage source code to Java byte code, and the other from Java byte code to Dalvik byte code. This means that performance is not going to be adequate for advanced Android applications, but simple applications will run okay. In time performance will improve as further tweaks are made to the compiler until it gets to the point where there is only a single compile (from Visage source code to Dalvik byte code). When that time comes Visage will have performance comparable to Java.

Another downside is that Visage does not support Android APIs that make use of generics. In time the situation will be rectified since generics support in Visage is top priority. Hence it will be about a month or two before the support appears. As such it will not be possible to create advanced Android applications for the moment. Some genericised APIs will have alternatives that can be used until the support is present.

Guessing from how much of the Android APIs will be supported by Visage based on the total classes/interfaces/enums it comes to roughly 84%, which is surprisingly high considering much of the Android API is genericised. With the proper support the total supported Android APIs would come to about 95-98%. At a very high percentage this would make Visage a very attractive alternative to Java for Android development. With that level of support very little functionality would be unavailable when it comes to developing Android applications.

It remains to be seen what Visage language features can be utilised on Android. Not all features will be available but that will change as the Android support improves. Currently Visage for Android has not be made publicly available yet. Expect a public release within the next few weeks or so.

Next year will be the year that Visage makes its mark on Android development. Finally a viable programming language is emerging for Android development, which goes far beyond creating hello world type applications.