Phonegap/Cordova platform independent background service - android

We've been working on a mobile app using Phonegap/Cordova 3.3.0.
The problem we have now is that we really need a background service for this app which needs to run without opening the app itself.
I've found some services like https://github.com/Red-Folder/Cordova-Plugin-BackgroundService but all of these services seem platform dependent. The beauty of Phonegap is that the development is mostly platform independent.
Does anyone know of a background service which runs independent of any platform?
I think it's pretty hard to find such a service because IOS and android differ too much.
Thank you very much in advance.

I think you are right with you assumptions, unless anyone has developed the plugin yourself then looks like you'll have to do it yourself.
But I am not sure how to do this in iOS - I do not think it supports true multitasking?
However, remember that with Cordova/PhoneGap - the only reason it is truly cross-platform is because somebody before you wrote the bridges between native-to-JavaScript - so there is always going to be an element of native code in there somewhere.

Related

Does a WebView app have access to Android features?

I am sorry if this is not the correct place to ask these questions but I cannot find the answer anywhere. I have built/building an app that basically displays a leaflet map and tracks users in real time with node and socket.io It has various functions but everything is contained either on or over the map. What I need to know is.
Will this run properly in a WebView app?
Can it run when the app is on but in the background (This has to run to keep the connection open and update location with the watch.position function)?
Can it access the HTML5 location features?
Can I access things like if I want to send a SMS from it via a button on the webapp?
Can I access the camera?
Whats the quickest software to use to develop this and could a similar app be made for iOS?
Sorry if a lot of questions but from what I have read WebView should be good enough as most of the work is back-end and map/browser based anyway. Or should I go down the native route?
I have done a couple of cross platform apps for iOS and Android with Cordova. To answer your questions: In a nutshell, I think you can do most of what you are trying to do with a framework like Cordova.
No.
Not with the webview, but maybe with Cordova (there is a plugin for background services).
Not with the webview, but yes with Cordova.
Not with the webview, but yes with Cordova.
Not with the webview, but yes with Cordova.
I am now a native developer for both iOS and Android. I would probably not do an app cross platform again unless it was really simple. I was always able to make things work in Cordova, but with a lot of hacking involved. Since you are familiar with javascript/html Corodova or Phonegap would probably be fastest in terms of development time for you.

Building a hybrid app, where to start?

I know it's kind of an 'open' question to ask but I simply don't know where to start. Let me first tell you a bit of my experience/background so you know the level I'm at:
Build cd-roms with Lingo back in the days
Started web/front end development in the HTML3.2 era and kinda left off when XHTML was hot
Worked with Javascript 1.2 up till around 1.6 and later started working with Jquery
Actionscript up to 2.0, building websites and games
Did quite a bit of PHP/mySQL development. Build custom CMS' and later Drupal module development
All this was during internships or as a freelancer, everthing self thought by the help of books and such
So now I'm stuck with this idea to build myself an app. I've decided it should be an hybrid app as my target audience is very small but 60% is iOS and I don't want to leave out Android. Also I've been getting familiar with HTML5/CSS3 and started working on components for my app.
The basic concept for the app is that it's a layer on top of Google functionality: profile, calendar, circles and hangouts. Users will (eventually I hope) be able to create events for other users to rsvp to, they will be able to add eachother as buddies and chat about the events. A small step functionality wise but a huge step for me :)
I'm thinking of using the Crosswalk project for the Android version to counter the biggest issues around hybrid app development.
I've been reading up for the last months in preparation and the more I read the less I seem to know. Here's the stuff I think I should know more about;
Node.js
Gulp.js
Dev environment to work in (I once worked in Homesite, later Dreamweaver - don't laugh)
Packaging tools, etc etc.
Crosswalk project
Now I am not looking for some drag and drop software package to build an app in 3 days. I don't want to take the easy route per se, I don't mind a bit of a learning curve. I work on a Win8 machine, I know this isn't optimal but I can't change this.
Now where should I start? I was thinking NPM myself but you guys might think otherwise. Any good books on the stuff you think I need to learn to get me going?
Thanx for the advice!
I can share my experience with Cordova.
I work like full-stack developer and i'm quite expert to build responsive website, so the natural step to approach mobile dev was try Cordova.
First You can start to build HTML document totally responsive and try as webpage on your target devices.
A cool stuff, targeting mobile devices, is that You can use new CSS3 directive, without worry for compatibility with old browser.
First I installed Cordova following this tutorial.
https://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html
Opening the folder /www on your project you can edit your app like a website, and you can also debug with the browser like a normal site.
To enhance the feature you will find a lot of plugins ready on github to extends the native functionality at the Cordova/phonegap project.
I suggest you also to build using onsen http://onsen.io/ a framework that let you use mobile UI easily.
Last tip that i can give you, if you target Android is try your apps on virtual machine, i use Genymotion https://www.genymotion.com/ that is much more fast then SD<
Good luck with your first app!
As you can imagine, there are a lot of framework where you can start.
Looking on your skills, maybe is better to use JS/HTML/css stack, but in this case, you will create an hybrid app in a webview.
In my opinion, webview applications quality it's only acceptable, but because of his productivity, in some cases could be the best decision.
Another good alternative is react-native. This framework allows to create a native application using javascript. React has his own markup language, is very similar to html. JS code is executed on native device using an embedder javascript engine, instead of webview, so, performances and experience can be compared to native applications.
And, at the end, my alternative, a framework I've made to write native UI and share business logic for each platforms. You can take a look on aj-framework https://github.com/bfortunato/aj-framework

Ionic app not looking the same in Android Device as in Desktop Browser

I'm really new to ionic/AngularJS/Cordova app development so I'm facing some issues that someone with quite better comprehension on the subject than me could easily fix.
I successfully installed all the components needed to start developing with the already mentioned frameworks.
After installation, I started playing a little bit with some examples and managed to create a really simple app that just had a side menu.
When I was testing my really simple app using ionic serve command, the app launched in my browser (as it should) and worked they way I was expecting to.
My problem comes when I type the ionic run android command.
The app gets built and everything and after that it gets installed in my Android Virtual Device, which later launches the app with no errors.
But the thing is that the app running in my AVD doesn't look the same as in my browser. It looks as if some styles were missing or something.
I know it might be something really easy to fix that I'm just missing.
Thanks in advance. :)
Ionic framework renders the UI layout based on the platform the app is run to provide close to native look and feel. This is as per the design of the framework. If you want to control the rendering, i.e., to have the same look and feel across all platforms, you can make use of the $ionicConfigProvider service in your app and make appropriate changes. http://ionicframework.com/docs/api/provider/$ionicConfigProvider/
Also to get a feel of how the UI looks in iOS and Android side by side you can use the below command
ionic serve --lab
Read this http://ionicframework.com/docs/cli/test.html for more options on ionic cli

Phonegap VS Steroids. Did I choose well?

I want to develop an App for Android ann iOS. It is a very simple App where there are almost no server connections and it is pretty simple. The only things is that it will have many animations.
I thought that would be a good idea to choose Phonegap instead of a native application because it is multiplatform and it is very much easy to develop for a web developer like me.
But, when you read in the web you see a lot of people who say that it is really slow, that buttons doesn't react inmediatly and more things.
So first I would like to ask, Will the phonegap performance be enough for this kind of App.
And secondly, I have found Steroids. It looks great because it takes Phonegap and make it native. But it sounds too well, I mean, you have all of Phonegap with more performance, I guess it should have some problems.
So, could I use Stereoids instead of Phonegap to increase the performance? What it worse of Steroids?
Greetings and thanks.
Full disclosure, I'm an AppGyver employee and am of course inherently biased towards the Steroids platform, but here's a quick rundown of why you should choose us over PhoneGap:
Theoretically, anything that can be done in PhoneGap can be done in Steroids as well. In reality, there are a few lingering problems with some custom plugins that might require some tweaking to work through our Build Service, but core Cordova plugins are supported.
Steroids provides Native UI features to make your app virtually indistinguishable from an actual native app. We've gone to great lengths to ensure that the end user would not be able to tell a Steroids app from a fully native one. This includes eliminating the delay between button taps and the app reacting, as well as providing ready-made implementations for drawers, modals, tab bars and all the goodies that you would find in a native app, but have to build by hand in a PhoneGap app. Admittedly, this feature set is currently only available for iOS, but our Android support is catching up fast with the first UI features being in internal QA at the moment and more coming soon!
Our qr code system makes demoing (and developing) apps insanely fast compared to having to constantly rebuild and install demo versions of your app. Just download the AppGyver Scanner, generate a share code and scan, and your app is now running on your phone.
We provide support for a Chromium-based Android client, which blows the old Android WebViews out of the water in terms of performance and cross-platform compatibility. Once again, this is still a very young property, so full support for all Steroids features is not there yet, but Android is currently our top priority, meaning things will improve fast.
I am glossing over the details quite a bit here, but this should give you a general idea of what we feel makes our product great!

Hybrid apps for iOS/Android/Windows 8

I hope this question is specific enough. I have a client for whom I made an iOS native app and an Android native app (same app, different platform). It's a fixed pixel design (I made this work for Android somehow:) and it works on iPad, iPhone and most Android devices (with some letterboxing). Now I am asked to write the same app for the Windows store and they want me to use HTML and JavaScript. My question is, when I use HTML and JavaScript, would it be "easy" for me to use this code into some sort of hybrid solution (PhoneGap, etc)? The app doesn't need much complicated functionality but does need to support push notifications on iOS and it needs to be able to play videos, preferably HLS. Any advice on what the best hybrid solution and do hybrid solutions allow you to build for Windows 8?
I'm a cross-platform developer working on PhoneGap and Titanium Appcelerator. The correct answer is "It depends". Currently the state of cross-platform development is not very recommendable. Yes, you can write plugins for PhoneGap and it does support windows phone but you will have a ridiculously hard time getting them to communicate with each other properly. I learnt this from experience.
If it was a hacking/hobby project to further the cause then I would say go for it but for a time-bound client project like yours, I would recommend against cross-platform solutions and go native instead. Plus native always gives considerably better control, speed and ease of development. You will probably develop it faster in native than cross platform anyway. I've played around with windows SDK and it seems easy to use and well-built with good documentation and you can use C# which is similar to Java since you have already used it on android.
You can also build windows 8 desktop apps using html and javascript natively but this isn't present in windows phone 8 yet.
As I mentioned, If you don't need too many native controls, then you can go cross-platform. For your requirements, it can be done. If you have already developed android and ios apps and only need windows app now, then going native would be easier. But if you have to make all 3 then you can go cross platform if your requirements are restricted to what you mention. Here's a good quora thread that discusses the pro's and cons:
http://www.quora.com/Is-Titanium-good-for-developing-iPhone-apps
Take a look on Xamarin
Main idea - they brings real native code for all platforms.
They have instruments to compile C# code that it can be used at all platforms
For example you should create UI in XCode (for iPhone) and use ModoDevelop to create DAL/BLL, then you can re-use C# code base over all other platforms
They have cross-platform iPhone/Android/WP7/W8 samples on GitHub
Also see Q&A on Stackoverflow tagged Xamaring
We are starting to build multiple apps for multiple clients both in IOS and Android native platforms. The problem is we are going completely native which is taking too much time.
I would like to look at the linked in method (http://arstechnica.com/information-technology/2012/10/a-behind-the-scenes-look-at-linkedins-mobile-engineering/) which is a more hybrid approach using HTML and native code.
The problem is I don't think Phonegap is that good - good for prototyping but maybe not for full versions of apps as it can be a bit slow and a bit buggy.
I would like to look into doing a model where we create like 65% HTML and 35% native to that device (like linked in)
Would anyone have any suggestions for this? Would people say we need a massive development team to pull such an approach off?
I welcome thought:)
Thanks

Categories

Resources