I've watched some videos about Bubble.io that you can create mobile applications without code, in addition to building and linking the database of the system and doing the work/process flow of the App. Can this platform provide us with the functionality and build both the frontend and backend to release a native mobile app
Yes, you can create web apps with Bubble.io and wrap them into native Android / iOS apps with the converter Natively. It allows enabling a lot of native features like push notifications, biometrics authorization, geolocation, universal links etc.
FYI, FlutterFlow is a pretty great alternative to Bubble.io in building mobile apps in terms of functionalities. Bubble.io is preferable for apps that need quick pivoting (changes are made real-time to end users without having to rebuild the app and to require users to update their apps) yet it is incomparable to FlutterFlow and other mobile app builders in terms of UX. Fair trade off I think.
Related
I am about to start a project to develop app that will run on iOS and Android. Most of the functionalities are very basic. Creating membership, login, viewing some content, entering forms data etc. However, there will be many pages. It is like a Web Site. iOS and Android App will have same functionalities.
I am considering developing this as Web App then creating a native iOS and Android App with a WebView. In that case, my users will download the apps from App Store and Play Store but my Web App will work inside that native apps.
I am willing to do that because apps functionalities will be same and there many simple pages in the apps. This will give me huge benefits. For example, i will implement once and use it in two different app, create new releases mostly without publishing the apps again etc.
I am planning to implement mobile app related things on the native apps like Push Notifications, Crash Reporting, Google Analytics etc. and rest of the functionalities in the Web App
Is this a common practice?
Is there any name for it? (I believe this is not a Hybrid App since Web App will be remote on the cloud)
What are the possible technical difficulties?
What other technologies i need?
How can i done Authentication / Authorization securely (My users will login to app once and then use it without login each use of the app)
Is there any rule against it? Like does the Apple App Guideline allow it?
Is there any framework to use for such need?
Thanks
I wouldn't recommend you to build a native app just for the use of a wrapper. In this case it is better to write a responsive web app. You can bookmark the website on your home screen and it will use the favicon as the apps icon.
Check out progressive web apps. This may be what you are looking for:
Progressive Web Apps
I need to develop an application related to C2C communication in which manufacturers can directly start communicating with retailers for bulk orders and maintain the order in an easy and fast way. Please suggest what framework i can use. For example: Native android developement, PhoneGap, Appcelerator Titanium.
PhoneGap: I have read that you cannot provide rich interactive applications and that it's not good in communicating with Android native apis.
Appcelerator Titanium: I need to purchase it and it requires a lot of money to develop an application.
Native development API: I have to provide a lot of time and it will be hard to communicate with my database and my web application using web services and it will be for the Android apps only
Which should I use for my app?
I'd say it depends on:
Your skills...
HTML: PhoneGap, Titanium (our Alloy MVC uses XML)
JS: Titanium, PhoneGap
JAVA: JAVA
Your plans...
One platform: Android
Multiple platforms: Titanium, PhoneGap
Your requirements...
Good UX: Titanium, Android
Titanium is open source and free (appcelerator.org) but we do provide paid (starting at $39/month) services, including Arrow, which is great to quickly build mobile web services to connect apps with any remote data source.
When you only want to develop an Android app you should use the native API. It offers most features, the better documentation (IMO) and is easier (and therefore cheaper) to maintain. Additionally it should be easy to communicate with databases and/or web APIs.
The only advantage Titanium offers is the multiple platform support. But when you only want to develop for Android use the native APIs.
When I download an app, is it possible to tell whether the app was made via cross platform solutions instead of native?
Would there be any noticeable differences in performance between a native and a (I don't know the right word to call it) built in web UI?
A native application is an application coded with the native language with the device, Objective C for iOS for example.
A mobile web application is one created with web technologies (HTML, CSS, JavaScript) by using a framework like Sencha Touch.
A hybrid application is somewhere in the middle of these two. For example, a Sencha Touch application that uses PhoneGap would be considered a hybrid application. We’re using web technologies but PhoneGap gives us access to native APIs that we would not have access to otherwise – thus it’s a hybrid of native and web.
Native Applications
Pro:
a) Native apps have the best performance and use the last available hardware resource to improve performance.
b) Applications will work in offline mode.
c) The apps are distributed through platforms App store providing better visibility to the prospective users.
d) Your application will have access to the latest API’s, releases on that platform.
e) The apps are built in languages the platform supports and so, has access to IDEs which provide the best tools to develop, debug the project fast. iOS app can be built in objective C on XCode which has all the tools to debug, design the interface, and check the performance using Instruments etc.
f) Linkedin is one example which shifted over to Native from HTML5.
g) And there is Facebook too, which took a U-turn.
Cons:
a)You need huge budgets to support all the platforms that have considerable markets. You will need to maintain multiple teams, one team per platform you want to support. So basically each team will replicate the same functionality in their platform.
b)App updates needs to be downloaded by users and so you end up maintain several versions of Apps on your web server if not properly designed.
c)Availability of developers for ramping up is another concern. When objective C suddenly revived after release of iPhones, there are not enough good developers ready. May be the developers can be trained , but it is not feasible for small and medium head count companies and even in bigger companies where the training is feasible, the developers trained are not going to be at the same level of expertise they were on the technologies they are working on.
HTML 5 Mobile web app:-
Pro:
a) HTML5 mobile app is similar to a normal web app, except that they are designed to work at smaller screens.
b) The distribution of these apps is very easy. You just deploy the web app on your web server and users access it from their browsers.
c) There are some very good mobile UI frameworks like JQuery Mobile, Sencha Touch and of course my favorite mgwt which provides several widgets for mobile.
d) These apps can probably reach out all platforms since they run on browsers and all the modern smart phones have a browser.
e) The development and testing of these apps is easier as they are similar to normal web apps where you have tooling support.
Cons:
f) These apps don’t have access to the native functionality.
g) Performance doesn’t match with native apps.
h) These apps don’t work in offline. Actually works in offline mode, but that doesn’t match what native apps provide.
Hybrid Apps:-
Pro:
a) Hybrid apps are faster to develop since most of the development is done is web technologies which are cross platform and do very small amount of native coding, only when access to native layers is required. So only small portion of the code needs to be re-implemented for other platforms .This saves development time and cost and you can concentrate on developing new features rather than replicating the same features on each platform.
b) You are near to ‘Write Once, Run Anywhere’, the strategy that made Java such a dominant force.
c) The tools for building Hybrid apps are not mature enough when compared to their counterparts on native apps. The situation is changing rapidly and soon there can be some good tools which support development of cross platform Hybrid apps.
d) These applications can be deployed in platform specific app stores.
e) Hybrid apps provide good and bad of both native apps and HTML5 web apps.
f) They can access the native layers.
g) These apps can work in offline mode.
h) Netflix is one cool example which runs the same code base against all the devices.
i) Gartner predicts by 2016 more than 50 % of the apps deployed will be Hybrid apps.
Cons:
a) Hybrid apps, even though are packaged natively are not native apps. They execute on the platforms web engine, Webkit in case of Android and iOS which is another layer between the user and the application and so the performance can’t match the native apps.
b) Since Hybrid apps are normally built using standard web technologies, there will be huge pool of developers available for ramping up. This is not the case with native apps.
If you are building productivity apps , Utility apps or Enterprise apps, Hybrid apps are for you.
If you are building games or photos, videos related app then Native apps are the way to go.
If you are building apps which need to work in real time, which doesn’t need access to the native layer and is not performance stressed, then html5 mobile web apps are the way to go.
So the decision needs to be done based on what type of application you are building, what is the development cost and time that can be offered.
You can take any APK or IPA file and change the file extension to ZIP. From there you can unzip the package and look for signs of a hybrid app. The most notable will be a www folder with a number of JS/HTML/CSS files.
If you cannot find that it is a fair assumption that the app is native and not hybrid or HTML5 based.
You should be able to tell by playing with the app. Cross platform solutions look and feel like a web page. They're often sluggish and can be un-responsive (like a web page). Navigating between pages takes time to load and frequently uses the spinner. Native apps are normally instant to transition, or at least have animations. Android has things like contextual menus and an action bar which often aren't used by web type implementations.
I am on a research and our panel cannot quite understand that I am developing a mobile app using html5.
Does mobile app means a native app of a certain platform (ios / android)?
If the app can be accessed in a browser, does that mean this is not a mobile app? are there any articles/journals/researches that prove my claim that html5 applications nowadays are being considered as a mobile app today?
From my epx, native apps are basically apps written/developed on the specific device/platform
Eg: Native app for android would be using Java, while iOS would be Objective C,
while mobile-apps in this case are basically web-apps, which works cross platform.
HTML5 is unique in a sense that it is able to simulate certain functions or accessing device hardware without being developed in a native environment.
If you are accessing the app via a web-browser on you mobile phone, most-likely its a web-app.
Most sites will have different layouts for different platform, for example when using your Desktop or Laptop, you will have a different view compared to using your Mobile Phone.
Some points that I hope you find useful:
Can it be published on the App Store/Google Play?
Think it's safe to say, most people expect a mobile app to be found in them.
Note that, from personal experience, Apple has rejected apps that are just simple copies of webpages.
Common sentiment
It's not very useful if a journal says something that the general public does not agree. Ask around, ideally people that are the target segment/market of your app, see if they agree on the definition of an App.
Many popular Apps using HTML5
There are many Apps on the App Store/Google Play that uses HTML5 as it's main development language. Facebook is the most visible one, though they went back to native for UX/performance reasons. (See: http://techcrunch.com/2012/09/11/mark-zuckerberg-our-biggest-mistake-with-mobile-was-betting-too-much-on-html5/)
Phonegap
Is a quick way to get HTML5 apps "into" a native app. If you are already not using it.
All the best with your panel!
Mobile Apps Are not always native apps. Mobile apps can be Native, Mobile-Web or Hybrid. The Mobile-Web which is basically written in HTML5, CSS and Javascript.
Native Mobile Apps are Specific to a platform or Operating System written in most of the time a particular language examples are writing an android apps in JAVA and an IOS app in Objective C.
While Hybrid Apps are combinations of Both Native and web sometimes puree mobile-web but wrapped in a native shell. They simply runs on a native widget more like a Browser. For android its uses WebView
How does one approach building the mobile app version of one's Rails app, with little to no mobile development experience? iOS, Android, one or the other, or both.
First, you might want to create (private) APIs for services your web app provides. The de facto standard for Android apps is REST-like endpoints that accept/return JSON. You can use whatever Ruby REST framework works best. Then you need to consider how you would authenticate Android apps, if needed. Do you use the same authentication database? Can you allow anonymous access, what parts of the app do you expose, etc.
Finally, you need to build the frontend. A few options here:
learn Android
hire someone to do it
use a framework that lets you develop using Web(-like) technologies: Thitanium, Rhodes, etc. The upside is that you get to use what you know and might also get an iOS app for free.
The downside is that you can never get the native performance, and look-and-feel might not be completely Android-like (never used Rhodes, so maybe it does this well enough, but still)
Consider using http://www.rhomobile.com/.