web apps vs mobile apps - mobile

Is there a significant advantage of creating a mobile app as opposed to a web application?
I pose this question from the following perspective, which is biased towards my lack of knowledge of the mobile phone architecture.
You can build a web application with pure javascript, css, and html.
You don't have to write different code for iOS, Android, etc.
The user simply goes to a url, and that's your app, served right there from the server.
I would like someone to highlight some of the advantages of writing specific code for a mobile web application.
What does a mobile app fundamentally have a significant advantage over a web application?

Mobile apps have some advantages:
Assets are packaged on the phone - you only need to load data from
the server, not your layout.
Users are familiar with the conventions of their chosen mobile OS,
which your app will follow.
Trends show users are spending more time in Apps than web on mobile
Can work offline (even if limited)
Mobile apps have access to native features like push notifications,
GPS, Camera, etc
There are also hybrid apps - which are web apps running in a native container. You may have heard of Cordova, which is a platform for acheiving this. You basically create your app as a web app, and it runs inside a native WebView - with this you can use a javascript API to access some native features, but you don't get many of the other benefits of a native app.

Easy to use
Use native mobile design
Don't take long time to load just load data and images but web load (data/images/css/js)

I am not very experienced with this topic, but these are some fundamentals of using mobile apps:
They are accessible offline. (but that is restrictable)
The assets of the downloaded app are stored on the phone itself, thus the main content loads much faster.
As stated before, they have access to the hardware of the device (GPS, camera, etc, sensors etc.)
You can store as much data on the device as you want (opposed to, let's say 5mb using the HTML5's Local Storage).
They have access to push notifications (such as in Android or iOS)
They can put all the powerful hardware of the phone to use.

Related

Responsive website into app or Hybrid mobile app?

So after too many searches I decided to ask this question.
First of all I'm building a mobile app using angularjs in my website (Online) not localhost. The app is a kind of a CRM based (CRUD mostly).
I have the cordova mobile application ready. I have a few questions here.
Is it acceptable, if I use the website URL directly in the inappbrowser URL (Like an iframe)?
Or. Should I need to put the angularjs files inside the www directory of the cordova app and access the server functions via API?
Which way is preferable? Why?
Will there be any performance differences?
If the No.1 is not a best practice, what is the major drawback on using the inappbrowser?
You can build Hosted Web App in an Apache Cordova:
For this scenario, you use a thin Cordova client (think of it as a web
browser embedded in a native app) that automatically redirects to your
Web site.
See also: Wrapping an existing web application in Cordova.
Other option: PWA.
From Wiki:
Progressive web applications (PWAs) are web applications that load
like regular web pages or websites but can offer the user
functionality such as working offline, push notifications, and device
hardware access traditionally available only to native applications.
PWAs combine the flexibility of the web with the experience of a
native application.

Technology stack for mobile based internal tools

I'm building an mobile based internal tool for a company. But I'm not able to figure out the programming stack to use. I mean, I have read that only native, hybrid or web based apps can be built on phones but I'm not looking for web based and we don't want to bring the app to the app store since it's only for the company people. Any suggestions on how to approach here?

Limitations with socket.io?

I am planning to use socket.io inside a hybrid mobile application packaged for a mobile device. Are there any limitations that I might encounter with browser adoption or anything of that sort? Will this sort of a set up work with all mobile devices when packaged and distributed?
Updated details
I am going to use it to write a chat application. If I do a basic chat application using socket.io and then package it using PhoneGap or Cordova/Ionic, would there be any issues with compatibility or can I expect all the features to work seamlessly?

Native Mobile Webapp vs. Mobile Browser App from a ServerSided Point of View

Is there an important difference between native mobile apps and mobile browserbased webapps according to the connection to a server which e.g. calculate stuff and sends it back to the mobile device?
The reason i ask is that there is a wide range of mobile app frameworks for serverside like vert.x, node.js, spring and many more. Isnt it just regardless of which framework I use to build a server for communication with mobile devices, no matter if they use a native app or a browser-based app - assuming they are totally equal in user-interaction?
I know there are differences in "what kind of information" is transacted between server and client according to performance, speed, scalability. My question aims only to the differences of native and browserbased web apps.
I just read this post: Server-side architecture for mobile web applications but i guess its not satisfying my lack of knowledge because author and question-resolver both refered to UI frameworks for mobile web applications. My idea is to have one server technology which is used by a mobile browser web app and the same app as native app at the same time with the same performance results. Is that something to worry about?
greetings
You can do the client side with browser and mobile apps with the one server side stack. Choose the server side depending on your skill set or those of your partners/employees and taking account of the nature of the task including volumes.
I would go for a server side that will support restful communication as that can be used by browser or mobile apps quite easily.

which mobile gis application developing is better for me

i want to develop a mobile app with this features:
1-work offline on mobile and don't need to internet(disconnect mode)
2-can import layers to it in public extensions(shape file,personal geodatabase,kml)
3-can edit layers
3-have some forms and fields that fill by mobile user and save in database
i think android is better platform for developing my app,so i need a gis service that can extend in android
i know arcgis and developed web apps and desktop apps with that before,but in mobile app developping, i can't use it,because i had to use arcgisonline service to host my layers and i don't want share my map and want to host data locally and offline
let me know what i need and what platform i choose and which is better
thanks in advance......
The ArcGIS Android API is a good choice. Esri have a sample offline app available for download. We have used Mobile Flex, since we have clients who want both iOS and Android solutions. It uses ArcGIS Online but could only use local files if needed. See a demo here:
http://www.webmapsolutions.com/category/arcgis-online
--Matt

Resources