Apple Swift provides a disruptive App opportunity for early adopters

Hacker in Work

From our experience a lot of companies at the moment may not consider Swift to be ready for production. Each version of Swift that comes out is not compatible with the previous.

For example Swift 1.2 introduced some very welcome features that our development team started using but subsequently had to remove to build a version that is submittable to the app store.

Aside from this there have been a lot of Xcode bugs and crashes related to using Swift. Some of the recent Xcode versions have been almost unusable and one of them even totally unusable. Swift at the moment seems very much Beta and for early adopters.

However once you get the Swift code to build to a binary there are no compatibility issues and nothing to lose, There’s even some performance to gain as Swift is being developed very much to integrate well with LLVM and by the same person / team that created LLVM.

In our opinion Swift has the productivity of Ruby while at the same time making it easy to implement safe code that doesn’t crash as much as before. In the near future when Swift becomes more mainstream either the cost of implementing a polished app will go down or the expected standard will go up.

The simpler syntax makes it much easier to use certain features which previously were a pain ( ex. completion handlers/blocks ) or even new features ( ex. custom operators ). When you combine them the power is multiplied. Including the time taken debugging bugs that are now avoided with Swift.

The chainTest Swift function below uses a combination of a custom operator ( |> ) and the way functions/blocks are first-class citizens in Swift and can easily be passed around and chained. What the function does is call the “start” function, then on the main thread it creates an activity view ( with a spinner etc ), then with the activity view running it does some work on the global thread, when the work is finished it removes the activity view and calls the “end” function.

func chaintest()
{
start I> main I> startactivity I> global I> doSomeWork I> main I> stopActivity I> end
}

We’d estimate a 4x increase in productivity compared to Objective-C.

Our conclusion is that we’re currently at a place where using Swift provides a window of opportunity for early adopters to compete with the larger less adaptable companies.

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

SME multi cloud storage API updated to version 0.7

We have updated our multi cloud storage API manual to version 0.7. Our multi-cloud API provides a single rest based interface to access over 10 cloud providers including Amazon S3, Microsoft SkyDrive, RackSpace Cloud Files, Mobile Me, Box.net + more.


This update has now had more detailed examples added as to the request and response of each of the API functions.


All our client tools are built on this API, as is our forthcoming iPhone application which should be in the App store in January.


In January, as well as this REST based API, we will be putting on Google Code a complete library of .Net classes that provide the same API functionality but in C#.We will also release the Objective C libraries used to build the iPhone application at a later date.



SMEStorage multi-cloud API Manual 0.7

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather