What can one create during the New Year and Christmas holidays? As it turned down — quite enough. Even if you have two kids and a bunch of family members whom you want to visit.
The only thing you cannot accomplish in time is to finish an article for Dzone. It takes a lot of time, nearly the entire January. By the 5th of January I had a laptop and a couple of days to spend on some development. Having estimated what I can do here, I decided to create a mobile app that would work faster than the original.
Page not found - Otaharin
For this, I needed to find communicative creators of a popular app. It is a simple app for tracking your budget.
With it, you can estimate how effectively you spend your money in the end of each month. In their dev-story, the developers wrote that after completing their previous project, they had three-four free days. So, they decided to create a new app during this free time. Their Product Manager and programmers helped them with positioning the app and its key features. Anyway, you can find its screenshots in the dev-story.
I already had the experience of mobile app development using C and Cocoa. Since this was my personal free time, I wanted to use it with maximum effectiveness. I was working for DevExpress from till and have been reading their announces since I left the company.
They made it after I left the company, so I was curious to try it. From my consumer experience, it's far from true. Maybe I was wrong?
I can create mark-up with stackoverflow.
Oops, This Page Could Not Be Found!
I can also find the required information in their documentation. Thus, I planned to create a cross-platform application that could become an advantage over the original iOS-only Spender app. Moreover, I wanted to spend my time in the most effective way. I hoped that the JS framework advantages could balance my poor experience.
I'm not sure I can provide public access to my repo, because it contains images I bought from Fotolia and third-party libraries, each with a difference license. The most curious of you can take a look into the app bundle itself. Added a template from PhoneJS. Created a Git-repo, registered it in WebStorm. Added a new record to the httpd.
Here is how it looks at its simplest. To be in time, I create only two screens: I couldn't create a markup of digit buttons.
The visit web page app had a huge keyboard that looked like a calculator or dialer. In the iPhone Retina screen, 1px borders between buttons changed their colors after clicking on the buttons. On my iPhone, the difference in colors was very noticeable. I had to invent how to tackle this. But I couldn't achieve a border width of 1 px and make all buttons look equal in different screens.
Three hours later I gave up the idea of using divs and moved forward. Since I had my own indicator of a tapped object the tapped button became darkerI didn't need the default indicator.
It took less time than it could be.
However, this is not an issue. Step 1 - Set up the Folder Structure In the first step, we set up our folder structure for the application. We put this code in a separate file initialize.
It provides a kinetic scrolling with the required appearance out-of-the-box. PhoneJS contains classes for working with data: There are several approaches to store data: I didn't want to implement a server side for a free app, and decided to use LocalStorage.
Later I found out that this was not an ideal decision. For example, when updating to iOS 5. Android implementation doesn't contain the 'Blob' class and 'window. The laptop browser provides additional API for requesting an additional storage space, which mobile browsers don't provide.
The available documentation for this API adds more problems. I found several articles searching by "html5 file api". And, I couldn't find an article that would cover all my questions. This class supports Cordova 3.
You can find it here: My app's start page didn't fit into any of the available layout, so I have chosen the EmptyLayout.
But, it doesn't provide animation effects when navigating through views. I copied the EmptyLayout code and added an attribute that had animation effects. Template's About screen was redesigned to a report screen, empty by that moment. Created a viewModel that selects data for a current month. Added localization date formatting for the screen caption. End-users can tap the screen header to select the required month. Added Cordova-plugin Statusbar that didn't work outof-the-box.
I found that the reference to cordova. As a result, the native part of my app didn't work. I've changed the dxAction event subscription to 'touchstart'. I had an early flight to Budapest from Vnukovo, and because I had no time in the afternoon, I gradually completed at the airport at night. In the morning, I decided to split the buttons in order to remove borders between them.
I took the iOS dialer keyboard as a sample. I created three keyboards. The button size changes depending on screen resolution: Each table cell contained a div with configured alignment. I cut the required icons and converted them to PNG. It took me quite a long time, maybe, because it was 1.
It is about man-hours. I spent only 30 man-hours and got an app for three mobile platforms. The version for Windows Phone 8 requires a UI redesign. I can be proud of myself: You can download complete apps here: Over a million developers have joined DZone.
Join the DZone community and get the full member experience. BTW, adding this library was a mistake; later I'll tell why. Tula, Vnukovo Airport, Date: January,I had an early flight to Budapest from Vnukovo, and because I had no time in the afternoon, I gradually completed at the airport at night.
My accountancy Let's summarize the time I spent and divide it into categories. Ceylon on Mobile Devices. Opinions expressed by DZone contributors are their own.