Posts

Comparing Mobile Web, Hybrid, Cross Platform Native, and Fully NativeApp Development

If you are considering making an app, then there are several options available to you. It basically comes down to how much time and money you want to spend in development for different platforms versus how native you want your app to feel. 1. Web App Development Web App Development is where you write your app in HTML and JavaScript and it resides only on the web.  The benefit is that you can write it once, and potentially use it on different mobile platforms as well as desktop platforms. The drawback is that t he user must have an Internet connection to use the app. There is a meta tag you can put on the app to allow iOS devices to place it as an app on the home screen, but every time you tap the icon, the app does a full refresh, which can be annoying if you are multitasking.  I tried to work around it by using caching, but couldn't get it to work. maybe I just did something wrong though, and maybe there is a good workaround out there somewhere. 2. Hybrid D...

Performance Problems Found in Mobile Web App Development

These aren't perfect statistics, but the basic idea of how my experience went when testing mobile web development on 5 mobile devices went something like this: iPhone 5 (using Safari on iOS 6.1.4) Linear gradient on the buttons worked. Rendering 1,000 buttons took about .75 seconds. Scrolling the div containing the buttons was very good. Nothing was hidden unless I scrolled really fast. Rendering was quick to catch up though. Hiding one button after rendering the thousand buttons was instant. Showing an image with a background image was instant after the images were cached. iPod Touch 4  (using Safari on iOS 6.1.3) Linear gradient on the buttons worked. Rendering 1,000 buttons took about 1.5 seconds. Scrolling the div containing the buttons was pretty good. Nothing was hidden unless I scrolled kind of fast. Rendering was slower to catch up than the iPhone 5. Hiding one button after rendering the thousand buttons was instant. Showing an image with a background im...

Hybrid vs Native Android App Comparison

Image
A while back I did a  File Size and Startup Time Comparison of Android Apps  using App Inventor versus the Android SDK. Android SDK was the winner. Now I have done a comparison of Hybrid (using PhoneGap  compiled on PhoneGap Build) vs Native (using the Android SDK ). Below are are my results for a very simple app using the Galaxy Note 2 as the test device. If you are concerned about speed, native is the winner in my book. Android SDK File size before install: ~162 KB File size after install: 652 KB Startup time: Less than half a second Notes: Tapping the Clear Textbox button had what seemed like instant responses. PhoneGap File size before install: 349 KB File size after install: 1 MB Startup time: About 2.5 seconds Notes: Tapping the Clear Textbox button had a somewhat laggy response, but not too extreme.

Introducing Moon Tug for iPad

Image
I have developed and released an iPad game called Moon Tug. It is a two player game where you try to pull the moon to your own planet before the other player does. You can also shoot the other player's controls to disable them for a limited time. When the UFO appears, tap it to get an extra pull boost. Check it out here:  Moon Tug  (The screenshots below are more up to date than the ones at the link.)

Introducing Carb or Calorie Counter for iPhone

A few months ago I built another iPhone app called Carb or Calorie Counter. It gives you a week view of entries where you can track how many carbs (or calories) you consume at each meal. Then it shows you a total for each day at the bottom. When the week is up, simply start over by clearing out a day column by tapping the button at the bottom. You can start using it on any day of the week. Check it out here:  Carb or Calorie Counter .

Introduction to Selenium WebDriver

Selenium WebDriver lets you write code to perform automated tests of web pages. Unlike Selenium IDE  (which records clicks that you perform in the browser and plays them back), WebDriver requires you to write code to connect to the API which controls the browser. The code can be written in Java, C# or a few other languages. The  Selenium WebDriver documentation has  some good instructions, but while following them, I ran into a few hitches, but was able to find the answers I needed from other pages on the internet. Hopefully I have referenced those other pages correctly. Obtaining Selenium WebDriver for Use with Java Install Apache Maven . This will be used for downloading a project that can be imported into Eclipse or NetBeans. Create the  pom.xml  file shown on the WebDriver documentation page. Make sure to update the XML file with any potentially updated information on the Maven Download page. Add the Maven installation directory to your PATH. I...

Introduction to Selenium IDE

Selenium IDE is a plugin for Firefox that allows Quality Assurance representatives to test web based software or websites. It works similar to how macros work. Installing Selenium IDE Using Firefox, go to the  SeleniumHQ  download page and under the  Selenium IDE  section, click the download link. (At the time of this writing there was a link to the released version as well as an unreleased version. I chose version 1.10.0.) Firefox will prompt you to install the plugin. Click Allow, then Install Now. Restart firefox. You are now ready to perform your first automated test. Your First Automated Test in Selenium IDE Prerequisite: Selenium IDE must be installed. (See above) Using Firefox, browse to the web application or web site you would like to test. Press CTRL-ALT-S to open Selenium IDE along-side of Firefox. You should see the web address from Firefox now showing at the top of Selenium IDE in the Base URL text box. Notice the red circle towards the ...