Mobile app with Cordova - javascript

I'd like to create an android app using cordova but every tutos I watched use Android Studio, But the problem is that I'dont have minimal RAM to use it, so is someone has another alternative to replace A.S??

Related

How does Apache Cordova and ionic framework interact native-ly?

I'm trying to find out how does Apache Cordova & Ionic Framework work?
I searched all over the internet and all I get is,
it is a wrapper around html/css/js and it uses the native web view to interact with native feature. But, you still deploy the native-ly. (That means .apk for Android, e.g.)
But, what I'm interested in is
Is Apache Cordova and Ionic Framework entirely written in javascript?
How do they interact with native mobile platform?
Does cordova/ionic get bundled with .apk file to mediate between the native web view and source code?
I believe what I'm interested in bit of low level detail.
If anybody could shed some light or point me to the resource (which I couldn't find) , it'd be great.
Thanks.
Apache Cordova provides a basic native app responsible for:
Displaying a Webview (UIWebkit by default for iOS, but you can switch to WKWebkit using a plugin. For Android, the "android browser" webview is used up to Android 4.4. From Android 5 (API 21), the webview is basically Chrome for Android).
Allowing the JavaScript running into this webview to "call" (execute) native code thanks to Cordova plugins. This is possible because system Webviews can interact with native code.
Ionic Framework (v1) is made of HTML, JavaScript and CSS (v2 is developed in TypeScript, which is a typed superset of JavaScript). The version 1 relies on AngularJS as a frontend JavaScript framework and helps developers writing "native-like" webapps by providing features like Gestures management, Infinite scrolling, Layouts (Menu, Tabs, Lists...), etc. The version 2 relies on Angular 2 and provides additional components (Date picker, Split panel...) and features (Ionic Native, a JavaScript API which tends to "standardize" the way you use Cordova plugins).
Ionic can be used without Cordova, if you simply want to create a web app (this is still HTML, JavaScript, and CSS). Cordova allows you to put this web app into a native shell. When an hybrid app (Cordova, the plugins you installed, and your web app) is bundled into an .ipa or an .apk, the html/javascript/css codes are moved into a specific folder, where Cordova expects to find an index.html (by default) to load in the Webview.
PS: My english is not perfect but I'd be glad to give more details if a point is not clear.
EDIT:
Please can you answer my specific questions in my post?
Sure!
Apache Cordova is made of JavaScript and Native code. See projects like cordova-android (JavaScript + Java), cordova-ios (JavaScript + Objective-C). Each mobile operating system has a dedicated "platform". When you start a new Cordova project, most of the time, the first operation you do is cordova platform add <platform> (iOS, Android...). These are the codes being loaded. Ionic Framework is a "pure-web" framework, made of HTML, JavaScript and CSS.
Apache Cordova interacts with native mobile platform as any native app: using the system APIs. The webview can interact with both your web app (of course) and the native code, thanks to platform-specific "bridges" (the native code embedded in cordova-android, cordova-ios, cordova-windows, allows that). You have to write a plugin in order to call native code from your JavaScript. For Android, it consists in extending the CordovaPlugin class and overriding the method execute (for instance: cordova-plugin-splashscreen).
The .apk (android) or .ipa (iOS) generated by cordova build (if you're using the cordova-cli) gathers together both the native shell (cordova-android for Android, cordova-ios for iOS) and your webapp. At startup, the main activity/view of Cordova is instantiated, loads the webview, which itself loads your webapp.

How to build ionic application using cocoonjs webview+?

The webview+ from cocoonjs gives a huge performance boost to my ionic application that uses a good amount css3 animations. I want to be able to build my application using webview+ from cocoonjs.
The instructions are straight forward and the commands don't throw an error but once I load the application on the device it's still using the default webview.
I'm thinking it has something to do with android.json or the config.xml.
After some more digging around in the java code, it looks like it was completely my fault I was trying to view the application on an emulator. There are issues with the current version of cocoonjs webview+.
Launching the Webview+ inside android's emulator can lead to an application crash. Use a real device for testing.

Can meteor be used to develop mobile app completely

I am a novice in Meteor and have never worked with Android or IOS programming.
Currently I am using meteor to develop a mobile-device application.
So I am wondering, is it possible through meteor to develop a complete mobile application,I did some little research and saw that there are couple of packages to implement swipe or send notifications. But what if want to build a solid mobile application, like implementing alarm, snoozing it all? As told already I am novice in meteor and carry no knowledge of mobile development, so any suggestion for good tutorials is also welcome.
Yes sure, you can do that! Meteor supports building cross-platform mobile apps for iOS and Android from version 0.9.4.
To check it just do:
meteor create --example todos
cd todos
meteor install-sdk android
meteor add-platform android
meteor run android
Thant's it!
Actually you can build (almost?)any meteor with using cordova/phoneGap and run in on your Android/iOS device.
For more information you should read: https://www.meteor.com/try/7
Also I would recommend to watch this video: https://www.youtube.com/watch?v=4dJLPLWMImw

Does it make sense to use Cordova or PhoneGap for the development of a pure browser-based web application?

At first glimpse Cordova and PhoneGap exist primarily for the use to develop apps to be used on a mobile device. Well, I am not interessted in the developement of native mobile apps.
There exists a webapplication (a cms) of our own and the question is now if a mobile toolkit like Cordova or PhoneGap is able to be of any help to develop parts of our cms functionalities with it in order to be able to support more plattforms.
Does it make sense to use Cordova or PhoneGap for the developement of a pure browser-based web application?
Phonegap (or Cordova as its now called) works by wrapping your webpages in a Webview and giving you access (in JavaScript) to some of the native device functions, such as the Camera, Accelerometer, Contacts etc.
As for whether it will help you depends on if want to make use of any of the native device functions, for example if you think incorporating the Camera (current HTML support for camera is quite spotty) into your web app is of use then you probably should consider it.
Another consideration is how your users will access the applications, with Phonegap it gets packages into a native app and they can just launch it from their home-screen (or however they launch apps on their mobile device), while with a Web App it depends on the device, on iOS you can pin it to your home screen and add some meta tags to make it appear more native like (for example hide the address bar) while on Android as far as I know you can't do that.
Finally consider that with Phonegap it might be more of a pain to debug your application since your HTML/Js is wrapped in a Webview, but as far as I've seen there is no easy way to debug it there.
One other thing I seem to recall reading somewhere that on iOS Apple doesn't give your native applications' Webviews access to the same amount of memory as if it were in safari so the exact sane web application when packaged into a Phonegap application might actually be slower.
To sum up, the benefits of wrapping your application in a Phonegap wrapper are access to native device functions and how your users access your app, if those aren't important (or the cons outweigh the benefits) than it probably isn't worth your while to go that route.
Cordova/Phonegap extend javascript with functionality provided by mobile operating systems. Therefore apps developed with these frameworks must be compiled to the target platform and only embed the HTML etc. in an embedded browser. The extensions need java, objective-c etc. code to run so I don't think that you are able to benefit from this code.
You are forced to write your own mobile device compliant HTML code when using Cordova/Phonegap. There are no neat mobile device ready user interface controls provided by the framework but only access to device specific hardware or software apis like notification etc. is given.
Cordova is just the latest name of PhoneGap. I would not go for that if you just want to build a mobile website. First of all publishing such an app on several online stores (iTunes, Play) is a pain.

iOS/Android development in HTML5, can we access hardware?

We have to create an application for iPhone and Android as a school assignment. None of us have any experience with building an iPhone app. We want to create the app with HTML and Javascript. Is it possible to access the hardware using JavaScript? Do we have to build an Android and iPhone app apart from each other so we have another base to build on?
Since I saw a tutorial on Youtube where you use Eclipse to make an Android app as you would always do with the R.view method and related methods.
Instead of importing XML you import HTML5 and CSS but we are afraid we can't access any hardware such as the camera or acceleration.
Native html app can't access mobile's hardware directly, but you can use phonegap. It works as intermediate layer between phone OS and HTML app.

Categories

Resources