I'm doing some research right now, trying to figure out the core differences in accessing device API's using a hybrid framework like Ionic. As far as I know, there are two ways for accessing an API through HTML5:
via "standard" HTML5 API
via plugin
Since an access using HTML5 runs from inside the webview, I keep reading it is performing worse. That seems to depend on the fact, that you are actually running a webview inside a native app. That's why hybrid is slower than native, cause native does access directly from the context of the app. Where do i put plugins in that scenario? Are plugins designed like small API's to the devices libraries that do access the native features from outside the web view? And what are the benefits in terms of performance and why?
Or am I just getting stuff mixed up and the "standard" HTML5 API access works through a plugin as well?
Thanks in advance!
Kolja
Related
I am building a language translation flashcard web app. I will have a PWA version on the website and then a native app in the Play Store and Windows Store.. maybe even Apple Store eventually. First time looking to build a native app or pseudo native app.
The app currently uses the Web Speech API and Voice Recognition API in HTML5. These API's have support on Chrome and Android Web Browser. It appears they are in progress for Firefox and some other browsers.
Since the best functionality of the app is built upon these browser based API's..
I am wondering if I choose to use Vue Native instead of Cordova/Phonegap, how is it possible to access these HTML5 APIs natively or is there a native solution?
I thinking about real technical advantages of creating React Native app over web SPA. I figured out that only 1 advantage could be - it's saving and loading data in phone store. Another things like, for example, access to GPS, camera, etc are also available in JavaScript Web. So, that is real technical advantage of using React Native over Web?
Overall, it really depends on what your application is for...
If your Application will be used by mobile users only, then React Native is a perfect solution. However, if you want an application with a Web presence, so users can use it on Desktops etc - then it wouldn't really be suitable unless you did both a Web SPA and a mobile app.
For example, if I were to create an accounting app - which will be used by users on Mobiles and Desktop, then perhaps I'd consider building a SPA which is mobile friendly or both SPA and an App with an API for both.
If you were building a tracking app, which will only be available for mobile - then go for it.
If your users will be using desktop, then you can build it perhaps in React and when you get to React Native you know the react library!
React Native in itself builds both iOS and Android Apps, so instead of creating a 'hybrid' app (which includes webviews) or a native App in both iOS and Android - you only create one code base and build it to your chosen OS. This saves alot of development time. As the community is open source, alot of upgrades happen and there is alot of help online if you encounter an issue.
I'm developing a netflix client on vb.net, and i need it to run silverlight and needed extensions that netflix requires to display the video stream.
how can i change webbrowser from default to another one that works with my needs, and what browser is that?
If you're looking for a different web rendering engine you should try the Gecko web engine. From my experience it is much faster than the traditional IE engine and more compatible with plugins and web content. The engine integrates well into VB.NET applications so using it in your program should work. The engine itself does stream videos from netflix if that's the intent. you can download this rendering engine just from searching it but for convinience I'll put a link to a site where you can find it here.
I'm trying to understand how programs like PhoneGap and Adobe Air work, that allow you to 'write once and run anywhere' on mobile platforms. The way I understand it now is that you build your application as a web app using either HTML5, or flash, or I don't know what, and it takes in those files and converts them to the proper types for each mobile OS. Assuming this is correct, what I would like to know is, what the options for developing web apps that are able to be converted into apps are; and what the most popular platforms to use/learn flash, or html5, or JavaScript, or I have no idea what are.
I want to build a web app to deploy across multiple phone platforms, but I don't know where to start. Thanks for the help!
You use tools like PhoneGap to access native device API's through JavaScript. If you don't need access to these API's you can write a HTML5 app and install it using "Add to home screen" etc.
As HTML5 matures, more and more of the device API's are actually directly available through HTML5 (for instance GPS), so depending on what you want to do access it might be in/scheduled to be part of the Device API.
Write once and run anywhere
There are different frameworks that lets you deploy to multiple platforms through the device specific install process. These tools usually work in 2 ways. Run in an embedded browser, or compile to native code.
PhoneGap runs the HTML5 part of your app in an embedded browser. Other tools like MonoTouch actually cross-compiles to native code, so they run on the bare metal.
Cross platform using HTML5
There are plenty of frameworks you can use to make mobile apps with HTML5. These usually help make the app "feel native", and includes abstractions over device specific idioms that differ between the different devices.
Popular frameworks includes Sencha Touch, JQuery Mobile and a bunch of others.
If you want the users to install the app through the AppStore/Market etc. then a solution like PhoneGap is a good option. If you don't care about that you can write your app and add a meta tag like
<meta name="apple-mobile-web-app-capable" content="yes">
and when you add it to the home screen it'll look just like any other app and run in an embedded browser without the browser window etc. You can add offline capabilities using HTML5 and synch when users go on-line etc. all just using HTML5.
Have a look at the Sencha touch app gallery to see what is possible with this technology.
I am building an app that will take most of its content from Facebook i.e. photos, personal info, etc.
I was wondering if anyone can give me advice on which framework would be the most suitable, iUI or Cocoa Touch? What sort of apps would be suitable for the iUI framework and what apps are more suitable using the standard Cocoa Touch?
Native apps run quickly, can be used offline and can make use of more of the device's hardware.
Web apps are more portable (you could make them available on Android as well, for example) and don't have to be vetted for inclusion in the app store.