Cross-platform offline/online app/webapp: Service Workers / AppCache? - offline

I have to build a webapp/Android/iOS application which works both online and offline (when the internet coverage is bad). The application should download/sync data and HTML pages when it is online.
I am planning to use Angular 2, but am still confused about the technologies to use for the offline part. Service Workers seem great, but they are not supported by iOS. iOS supports AppCache, but this is deprecated in the Web standards.
Is there a cross-platform technology that supports offline for Web, iOS and Android?

Related

How to build APK (signed) from hybrid app made in Framework7

I've experience in building native android applications. But I'm completely new to hybrid application development and Would like to use Framework7.
I'm starting to use it. I don't know how to build the project and get an install-able file (or for distribution in playstore).
Any help is appreciated.
Cordova is a good way to start.
When I used to develop Hybrid apps, Cordova was the way to generate APKs.
I really enjoyed it, since it has a lot of Plugins, like FireBase Cloud Messaging Plugin to receive notifications within your hybrid App. It's more than a simple WebView App.
Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.
Use Apache Cordova if you are:
a mobile developer and want to extend an application across more than
one platform, without having to re-implement it with each platform's
language and tool set.
a web developer and want to deploy a web app that's packaged for
distribution in various app store portals.
a mobile developer interested in mixing native application components
with a WebView (special browser window) that can access device-level
APIs, or if you want to develop a plugin interface between native and
WebView components.
Here are all the steps needed to start with Cordova https://cordova.apache.org/docs/en/latest/guide/cli/index.html
Also, I used to follow these steps to generate a signed APK so it's possible to launch it on Google Play.
How do I put my cordova application on the android play store?

Which Platform of Unity is best for Facebook Canvas App

I want to deploy my Unity3D game on Facebook as canvas App. There are two platforms in unity version 5:
WebPlayer
WebGL (Preview)
I have no idea about both of these builds. I am using Parse to store my user data. And Facebook Unity SDK for social gaming. I have built for IOS platform and now for Canvas App deployment I want to know:
which one of these would be best for Canvas App?
I want to know if there are any issues regarding Parse API or Facebook Unity SDK for
WebPlayer/WebGL build?
EDIT:
I have built for WebPlayer and i can not run it on Google Chrome.
does it have to do anything with Canvas App too?
I have built for WebGL and tried to run it on Google Chrome and got this alert:
( I am using Google Chrome Version 44.0.2403.107 (64-bit) )
Any suggestion/help is highly appreciated.
I will suggest you to not build your game in webplayer, because chrome is dropping support for unity webplayer(Google Chrome version 42 and later has disabled all NPAPI plugins), and other browser will also drop the support sooner or later. The best way forward is to use webGL. WebGL in unity is still getting evolved, but this is the future. I also have developed game for webGL, I didn't face much problems except data storage. Parse does not support webgl yet, you have to look for other services. In my case I have build my own php server and it is working fine. Anyways you have to choose what is best in your case. You should use webGL , but thats my opinion.
The error message is more or less self-explanatory: Chrome doesn't support running Unity WebGL when it is run from a local file on disk, because of Chrome security. This is not a real problem, as in production it will always be run from a webserver (http://).
During development, your options are:
Start chrome with access to local files: chrome.exe --allow-file-access-from-files
Host a local webserver (Apacha/WAMP, IIS, etc)
Use firefox
You are correct. Building the unity for the web is the way to go. You select web from the build settings and you can upload it to the facebook canvas. The thing with chrome is that it no longer supports NPAPI and that is what the Unity web players uses. You can manually enable it and try out your game in chrome. But for the majority of chrome users unity web player no longer works.

Server Side / Cloud Coding for the app?

I am am making an app for iOS & Android whose frontend UI is ready. Now I wanted to learn some server side coding to connect my backend with Amazon services.
MY app will feature 1.image upload & download 2. storing of data and meta data 3. user registration and stuff
I have no clear idea about server side and cloud coding ? so want you guys push me a bit from where should I begin and how should I begin to make the above features for my app working ?
It sounds like you are looking to do mobile app development that works with cloud datastores.
Here are a few blogs that you can take a look at get started with:
http://mobile.awsblog.com/post/TxERCU1UMRFNPB/DynamoDB-on-Mobile-Part-5-Fine-Grained-Access-Control
The above blog post talks about using AWS Mobile SDKs with DynamoDB. In general, mobile.awsblog.com has more resources for developing with other datastores and might be a good resource. For DynamoDB's support for enabling mobile developers to build serverless architectures, please take a look:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/FGAC_DDB.html
Hope this helps.
Swami
If you have no clear idea about server side coding maybe you should use a backend-as-a-service platform such as Backbeam. These platforms give you SDKs for iOS and Android typically and you don't have to worry about the servers stuff. You can create a database in the control panel and start using it from your iOS apps making queries, inserting data, etc. You have also other features such as push notifications, users authentication, and more.
Disclaimer: I work at Backbeam. Other well-known platforms are parse and kinvey

Is it possible to build offline app with Appcelerator and Rhomobile?

I have recently found those two look-alike solutions/IDE for cross-mobile development: Appcelerator and Rhomobile (I know there are more) and I have questions regarding those two platform:
1) I believe the only way to build the view is using HTML, which I like alot the ideas. But, does that mean the application itself isn't available if the mobile is offline?
2) Do you guys know if it's possible to publish the application to the App Store and Google Store?
3) Are there any simulator for different mobile and do they support all those slide/tab events?
4) And finally, are there a way to transfert the App on your mobile phone without having to publish it anywhere.
Please note that I have no knowledge at all about mobile app dev and those two solutions (Appcelerator, Rhomobile) would be perfect for me as I am familiar with Javascript and HTML.
Thank you!
Ok I have only used appcelerator but:
1) a webview is like a browser without the address bar, it simply parses HTML, where it gets it from is up to you. If you write the HTML and pass in a file well then yes it can be offline, if it is used to parse a response from a webpage well then no as it needs to send a http request to the webpage.
As many people seem to mistake (for a reason unknown to me as all the documentation states other wise), appcelerator is not the same as phonegap, appcelerator uses its own javascript based API to allow developers to make native apps, it is NOT a webview wrapper. It is offline by default and allows you to send http requests if you need something online.
2) yes you can publish to the app store and the google store from appcelerator, the documentation walks you through the process.
3) Appcelerator requires you to download either the IOS sdk or Android SDK which come with simulators, appcelerator / the emulators support the standard events found on these devices.
4) With Android to can build a .apk file and distribute however you wish, with IOS the only way is to publish to the app store. the only other way is to make a mobile website instead of an application

Blackberry what SDK and language are used

I am new in Blackberry. Can anyone help me out for following queries?
Which SDK is used in Blackberry?
In what language are Blackberry applications developed?
Can we call webservices through Blackberry applications?
Blackberry applications are written in Java. They support Java ME as well as some additional blackberry specific APIs. Check out http://na.blackberry.com/eng/developers/javaappdev/overview.jsp
As for calling a web service, yes you can do that as well. Check out the Rapid Application development tutorial at: http://na.blackberry.com/eng/developers/rapidappdev/
As heavyd said you can use the Rapid Application Development for accessing web services.
I've used the Visual Studio plugin before but this doesn't allow you as much access to the API as using the standard JDE plugin for Eclipse or the Blackberrys Java Development Environment (at least when I used it). It all depends on what you want to do, whether it's whip up a quick app or create a fully customised sweet looking application that'll take a little longer.
If you don't decide to go down the RAD route you can use a 3rd party library like KSOAP2, or, the way I do it, is use the Sun Wireless Toolkit (WTK) to create Stubs for you're web service methods which you can then call in your application. I've used this method for a .NET web service and it's pretty straightforward.