Giacomo Balli profile picture

Giacomo Balli

Innovation consultant specializing in mobile strategy

Let's Chat

I help traditional business owners improve productivity, enhance employee satisfaction and increase profits by optimizing their established processes. #DigitalTransformation #OpenInnovation

I help startup founders jumpstart their success. #Architecture #UA #ASO #Monetization #Performance #Feasbility

I help modern companies better understand competition and fast-track R&D. #Intelligence #ResearchAndDevelopement

Topics

Projects

Giacomo Balli clients

Press, Podcasts, Interviews & Talks

Giacomo Balli press

Mobile Consultant

The mobile app industry is growing at an unprecedented pace... Barely keeping up or are you leveraging all the opportunities it brings?

If you made it this far I know you have motivation, enthusiasm and drive. However, you will need a mobile consultant like me by your side to fully reap all the benefits of what technology has to offer.

Until not long ago, iPhone apps were like the very first websites: in a world where websites were few and far between, just having one was enough.  It wasn't particularly challenging to be a player in the mobile app development game without much competition. Now, as the market becomes more saturated, it is increasingly difficult to stand out from the crowd.

My years of experience in the field, combined with my MBA and business savvy, make me a shrewd ally to anyone looking to make their mark in the mobile world.

I live in San Francisco, the epicenter of the startup boom.  While I've seen some amazing concepts come to life, I've chosen not to get involve in revenue sharing, equity or similarly structured projects. Instead, I lend my technical and business know-how to early stage startups and established brands as a mobile consultant.

Find out more

Do you already have a mobile app? Make sure you know how to properly generate more downloads.

Xamarin vs Titanium vs Phonegap vs Native application development

The development for Android and iOS requires obtaining the respective SDKs. On iOS, this means learning Objective-C and also learning Cocoa Touch. Android programming is very similar to Java, but with Android-specific APIs and frameworks. In addition to the native application development for these platforms, there are also several third party APIs that can assist in the development process. There are several options to choose from for mobile development: 

 


 

Speaking of mobile websites, their advantages are quite obvious: Mobile Website runs on all mobile devices because it's based on web technologies and does not depend on the OS of a mobile device. At the same time, a mobile website wouldn't have access to all device features and has to work within the limited capabilities.

In this post I will be talking about Xamarin vs Titanium vs Phonegap vs Native application development and briefly discuss about the available APIs for development as well as their pros and cons.

1. Native application development


Xcode is the official toolset provided by Apple for any Mac and iOS development. Google recommends using Eclipse for development on Android [see this]. iOS development requires familiarity with Objective C [see this]. Although, its syntax is quite different from other traditional programming languages like Java and C++, it is not very difficult to get on with. Android development is based on Java and comparatively easier for programmers with previous experience with Java.

Advantages

Disadvantages

2. PhoneGap


Using PhoneGap, developers can build applications using HTML/CSS/JS, including JavaScript classes that give access to device hardware and other iOS API featurs like contacts, filesystem, camera, microphone, GPS, etc. The final application is wrapped within a platform native 'Web View' browser object, and essentially becomes a stand-alone web application with the ability to access some device- specific features.

Advantages

Disadvantages

3. Titanium


Using Titanium, developers can create an application writing Javascript and calling Titanium's APIs. The Javascript is then interpreted at runtime. The application's UI becomes completely native. There is no web UI in your app since the native Titanium APIs take over control of all UI needs. Titanium runs application's JavaScript using one of two JavaScript interpreters' JavaScriptCore on iOS (the interpreter used by Webkit) and Mozilla Rhino on Android.

 

The Javascript calls to the Titanium API are mapped to native code in the Titanium framework and generate native components. Events in those components are sent back to the code in Javascript where we can handle them. The end result is a relatively fast performance.

Advantages

Disadvantages

EDIT: Personally, I have worked with both Titanium and Native application development for iPhone and Android. Although, Titanium is good for developing applications quickly, I wouldn't recommend it for a sufficiently complicated application specially if it focuses a lot on hardware features. Before beginning the development on an application, I would analyze all requirements for the application and choose among one of the three because they all have their own advantages. For someone looking to quickly decide on one of these, here are some quick points:

These are not comprehensive set of points and as I pointed out, each application needs a detailed study about the features that it will have and the capabilities of the framework. It depends on a lot of factors: your goal, your business, your budget, your audience. This list could go on and on. Don't rush into the decision. Its difficult and costly to switch the framework after you begin developing.

4. Xamarin


Advantages

Disadvantages

 

Thanks to Sapan Diwakar, Sahil Malik, Lee Whitney

#native, #phonegap, #titanium, #xamarin
Published: Sat, 05 Apr 2014 18:03:39 +0000

Side Projects

This a collection of some of the numerous ideas/projects that have been conceived and developed usually on a weekend morning.

Crypto

Instagram

Websites

Apps

Misc

About

Currently working as an innovation consultant based in San Francisco. After studying in Madrid and New York, earning an MBA, he broke into the emerging mobile developing market when Apple first released the iPhone. Among one of the first successful Italian developers, Giacomo relocated to San Francisco to broaden his reach within the burgeoning tech sector. While working as part of a travel-tech startup launched in 2013, Giacomo has continued as a consultant to both independent and incubator-based startups. Confident and innovative, loves fast-paced environments collaborating with a team of professionals and experts to ship delightful, efficient products.
Giacomo's passion for progress often finds him speaking at conferences (both in the US & Europe) and teaching college courses.

Contact

Xamarin vs Titanium vs Phonegap vs Native application development

Xamarin vs Titanium vs Phonegap vs Native application development

The development for Android and iOS requires obtaining the respective SDKs. On iOS, this means learning Objective-C and also learning Cocoa Touch. Android programming is very similar to Java, but with Android-specific APIs and frameworks. In addition to the native application development for these platforms, there are also several third party APIs that can assist in the development process. There are several options to choose from for mobile development: 

 


 

Speaking of mobile websites, their advantages are quite obvious: Mobile Website runs on all mobile devices because it's based on web technologies and does not depend on the OS of a mobile device. At the same time, a mobile website wouldn't have access to all device features and has to work within the limited capabilities.

In this post I will be talking about Xamarin vs Titanium vs Phonegap vs Native application development and briefly discuss about the available APIs for development as well as their pros and cons.

1. Native application development


Xcode is the official toolset provided by Apple for any Mac and iOS development. Google recommends using Eclipse for development on Android [see this]. iOS development requires familiarity with Objective C [see this]. Although, its syntax is quite different from other traditional programming languages like Java and C++, it is not very difficult to get on with. Android development is based on Java and comparatively easier for programmers with previous experience with Java.

Advantages

Disadvantages

2. PhoneGap


Using PhoneGap, developers can build applications using HTML/CSS/JS, including JavaScript classes that give access to device hardware and other iOS API featurs like contacts, filesystem, camera, microphone, GPS, etc. The final application is wrapped within a platform native 'Web View' browser object, and essentially becomes a stand-alone web application with the ability to access some device- specific features.

Advantages

Disadvantages

3. Titanium


Using Titanium, developers can create an application writing Javascript and calling Titanium's APIs. The Javascript is then interpreted at runtime. The application's UI becomes completely native. There is no web UI in your app since the native Titanium APIs take over control of all UI needs. Titanium runs application's JavaScript using one of two JavaScript interpreters' JavaScriptCore on iOS (the interpreter used by Webkit) and Mozilla Rhino on Android.

 

The Javascript calls to the Titanium API are mapped to native code in the Titanium framework and generate native components. Events in those components are sent back to the code in Javascript where we can handle them. The end result is a relatively fast performance.

Advantages

Disadvantages

EDIT: Personally, I have worked with both Titanium and Native application development for iPhone and Android. Although, Titanium is good for developing applications quickly, I wouldn't recommend it for a sufficiently complicated application specially if it focuses a lot on hardware features. Before beginning the development on an application, I would analyze all requirements for the application and choose among one of the three because they all have their own advantages. For someone looking to quickly decide on one of these, here are some quick points:

These are not comprehensive set of points and as I pointed out, each application needs a detailed study about the features that it will have and the capabilities of the framework. It depends on a lot of factors: your goal, your business, your budget, your audience. This list could go on and on. Don't rush into the decision. Its difficult and costly to switch the framework after you begin developing.

4. Xamarin


Advantages

Disadvantages

 

Thanks to Sapan Diwakar, Sahil Malik, Lee Whitney

#native, #phonegap, #titanium, #xamarin
Published: Sat, 05 Apr 2014 18:03:39 +0000