Creo 1.0b7

After many months of hard work we are really proud to announce a huge new beta release.
Beta 7 is feature complete and adds the ability to compile native iOS applications.

CreoPlayer has also been updated to version 1.0.5.
Complete version history is available here .


Creo beta 5.5

Creo b5.5 is available today with a lot of changes and improvements.
A full list of changes is available in the official Version History page.

The most important changes in this release are the new async non blocking database calls, the new Apple based Map control and the new Bluetooth controls. Bluetooth controls in particular are very powerful and with a minimal amount of work you can create very complex task (we’ll post detailed tutorials soon).

We know that we have to create more documentation, more tutorial and more examples and we are working hard on producing new content. Our plan (if no major issues will be reported for b5.5) is to release b6 with app ready to be submitted to Apple Store in January and then give more details about prices and an official release date.

We have really big plans with Creo and we hope you’ll be satisfied with all the news that will be announced soon. With Creo we have only one simple aim: “Reinvent how people develop mobile apps”.

Creo b5.5


A markdown editor built-into b5

As I already wrote, Creo b5 will be a very big under the hood update, that means that the foundation, the language and the functionalities will be much more stables and powerful. In b5 we are investing much of our time in non UI related changes. UI and UX changes will be applied to b6.

An exception to this statement was the SplitView work we did a couple of weeks ago and the new HTML/Markdown functionalities we added to text based controls like Label, TextField and TextView. With this functionality you can literally write a Markdown editor for iPhone/iPad without a single line of code.

Let me show you how powerful this new feature is:
 


Radio silence and upcoming b5

I am sure some of you are wondering what happened in the latest month, a month without an update and without any new blog post. Well, except for few days off, all the Creo team is working hard on the next b5.

Creo b5 will be an huge update with Gravity finalized and documented, with the iOS app released and with some important internal changes. For example Andrea has rewritten from scratch the SplitView navigation control and it is now even more powerful and useful. Take a look at this short demo about the new SplitView control that automatically creates the master view for you (you’ll be able to completely customize it).

 


OAuth-1 and OAuth-2 with Creo

In this tutorial we’ll create a simple Twitter reader (using the HTTPClient class and OAuth-1) and a Google Drive browser (using OAuth-2). Up until Creo b6 all these HTTPClient parameters cannot be dynamically accessed from the code so they must be statically set from the configuration panel. Just a couple of beta versions and we’ll extend dynamic properties to all the classes.

Twitter and OAuth-1

  • Create a new Twitter App from https://apps.twitter.com/
    Twitter1
  • Fill-in the fields with your app’s data. The Callback URL must be a valid HTTP URL and the callback locking option must be disabled to allow custom callback URLs in the requests.
    Twitter2
  • Get the Consumer Key and the Consumer Secret.
    Twitter3
  • In Creo, create a new HTTPClient instance with the Twitter parameters and the Consumer Key/Secret just obtained.
    Twitter4
  • Create a new request from HTTPClient instance (right click on HTTPClient1). Twitter offers a lot of API, in this example we’ll list the tweets from a user (https://dev.twitter.com/rest/reference/get/statuses/user_timeline).
    Twitter6
  • Finally, add a TableView and set your HTTP request as the DataSet.
    Twitter5

You can download a sample project from: http://media.creolabs.com/examples/Twitter.zip

Google Drive and OAuth-2

  • Create (if you don’t have one) a Google account and access the following url: https://console.developers.google.com
    Google1
  • Create a new project and enable the API you want to use (Google Drive API in this case).
    Google2
     
    Google3
  • Configure the OAuth consent screen with the details of your app.
    Google5
  • Create Credentials (OAuth client ID).
    Google4
  • Use the following parameters:
    Application Type: iOS
    Name: your app name
    Bundle ID: the identifier of your app configured in the Application inspector in Creo
    Google6
  • In order to be able to test the requests inside Creo you have to add another credentials for the Creo simulator with the following parameters:
    Name: CreoApp
    Bundle ID: com.creolabs.creo
    Google7
  • In Creo, create a new HTTP Client with the following parameters:
    Google8
  • Create a new request for this HTTP Client, for example to list the Google Drive file (API documentation: https://developers.google.com/drive/v3/reference/files/list#request):
    Google9
  • In order to customize your request, you could also configure the optional query parameters.
    Google10
  • Add a Table View and set your HTTP request as the DataSet.
    Google11
  •   

  • Enjoy your Google Drive inside Creo 🙂
    Google12

You can download a sample project from: http://media.creolabs.com/examples/Google.zip


What’s new in Creo beta 4?

Yesterday we announced Creo b4 and among other changes there are some really relevant features that I would like to further explain.

There is a new advanced sqlite table editor that enables you to create and modify database tables. This is especially useful because it does not force you to use any external database sql tool for your sqlite models.

SQLite Editor

We also introduced a new logging system and panel. Errors and warnings will be redirected to that window and you can log messages from the code using: Console.write("Your message here"); or more easily using the Log action.

Log Panel

You can download a simple HelloWorldConsole project (it uses an Action bound to a Button) from: http://media.creolabs.com/examples/HelloWorldConsole.zip.

  

HTTP authentications

Under the hood we greatly enhanced the HTTP client class and we added all supported authentications like password, OAuth1 and OAuth2. These are very important features that enables you to gain full access to thousands of web services. We’ll publish a more detailed article pretty soon about the new authentications and how to setup all of them.

Internally we were able to use password authentication to gain access to our subversion repository at http://beanstalkapp.com. Without any code we were able to list our latest commits from one of our repositories. Beanstalk API are documented at: http://api.beanstalkapp.com

Beanstalk

Using OAuth1 we created a minimal Twitter client in few seconds:

Twitter

As an OAuth2 example we used Google services to gain access to our Google Drive:

GoogleDrive

From now on, thanks to these enhancements, possibilities are really endless and all the examples you see listed here were setup inside Creo in few seconds without any written code. We really believe that Creo b4 is a great starting point for the future of Creo.


Creo b4

Creo b4 is available today with the following changes:

  • Added support for OAuth1 and OAuth2 to HTTPClient
  • New built-in SQLite table editor
  • New Log console window
  • Exposed Console class
  • UIButton improved
  • UITextView and UITextField improved
  • UIScrollbar improved
  • Fix for navigations inside navigations hierarchy
  • Fix for a crash in binding
  • A lot more other fixes and improvements

If you have Creo 1.0b3.2 just use the in-app update feature, otherwise use the original beta download link to get the latest version.


Creo b3

Creo b3 is available today with the following changes:

  • Added support for Sketch files, more details here
  • New icons for files inside Assets and Documents
  • UIWebView on MacOS rewritten using WKWebKit (was WebView)
  • Greatly improved HTTPClient
  • Various internal fixes to CREOKit (our custom UIKit on Mac)
  • Improved rotations
  • Improved CustomViews
  • Improved SQLite database
  • Fixed code generation for navigation hierarchies
  • Fixed some issues related to TextView
  • Added schema/table support for all sql databases
  • Fixed an UIWindow issues that leads to have black CustomViews and SplitViews
  • Fixed a compiler issue that prevents to discover methods declared by user inside the same object
  • A lot of other fixes and improvements