We are looking for a good port of our mobile web application to native app until we have the resources to build a truly native application. We have narrowed it down to PhoneGap and Titanium.
We have an HTML5 mobile version of our application. It uses things like RPC over websockets and some other JS libs. It seems as if we can just continuing using the exact same architecture if we go with PhoneGap, where as with Titanium it seems we would need to rebuild these libs and procedures to work with Titanium.
Is this true? How do these platforms differ?
Thanks!
Phonegap is your best bet here. You can put all your current code into the www directory, and then phonegap will package that into an app. Phonegap doesn't create a web app, you create the web app and let phonegap package it for you.
If you were to use Titanium you would not be able to use any of your current html or css code. If you have kept your JS logic separate from your views, then you could re-use this logic and then build new views for a titanium application but that's very time consuming.
Titanium is not a good framework, dev time is way too long due to how difficult it is to create a UI. It's also quite buggy. We developed an app in Titanium for Android and we're going to rewrite using web technologies.
It's not true that external JS libraries are difficult to use in Titanium. Everything is converted to native code.
This Blog has a good summary of the pros and cons of PhoneGap and Titanium Appcelerator.
Short summary: PhoneGap provides a bridge to enable standards-based web apps to access native capabilities. Appcelerator is a proprietary (non-HTML based) framework that enables the creation of native apps in JavaScript.
Phonegap will be much easier for you. Just port in your existing code. Not native though. Titanium will be a rewrite.
One of the main difference is that PhoneGap creates a webapp written in JavaScript and Titanium creates native apps where your JavaScript code is compiled to Java or Objective-C. So you can't easily use external JavaScript libs with Titanium.
Related
I have browser application which uses javascript,node.js,jquery,HTML5(canvas).
Now I want to transplant this application to iOS/Android.
I am familiar with making iOS/Android application by flutter, so I know that it is possible to make iOS/Android/webapp from dart code.
However for vice-versa??? is there any way to make iOS/Android from HTML5??
Flutter is best but ,any other way???
For example on Titanaium, is it possible to make application by Javascript.
But, it means language is javascript but no library like jquery doesn't work.
So my idea is ,,, use webview on flutter and use application via this view,, but is it possible???
Take a look at Apache Cordova. Although I'm not a fan of it and I'd advise you to write the application natively (with Java or Kotlin), Cordova is quite known and some apps on the store use it.
https://cordova.apache.org/
Ive been learning html, css, js, php, mysql, (touched on node js but ran away from it - too much too soon) for a few months now and would like to make a simple categorized code snippet app as a learning project and to aid my crap memory!
I couldnt find a relevant answer so, hopefully its not a dumb question:
I want to primarily stick with js to get a good coding knowledge base so will make the snippet app using js, and .txt files as the storage. Using VS Code, what would be the best practice/method?
I know I could just make it browser based, but would rather have a little app I can pin to the taskbar, as im coding/self teaching full time atm.
The HTML, CSS and Javascript natively supported by browsers to develop Web Apps (You cannot run as a native app). The .EXE files are executable binary files of Windows. If you want to build Native Apps using HTML, CSS & JS, You have couple of options.
Electron JS
Electron JS is a amazing tool, To build cross-platform apps. You can develop your apps using HTML, CSS and JS and build it to any major platforms.
VS Code, Invision, MS Teams are built on electron Js
https://www.electronjs.org/
Use WebView on Native App
If you don't need to access any native function of the system, Then you can go with WebView. The web view is a feature to embed a website inside a native app. Most of the languages/frameworks have web-view support (Eg:- .Net).
If you are focusing on windows, Try .NET Web View
Is it possible to build a React (NOT React-Native), offline (no REST calls) app that can be deployed to iOS? Just working on a learning project and don't want to deal with React-Native. Just want to use my current web skills and make an iOS app with just React.
Looking for a workflow/tools that would enable me to do so.
You can use Apache Cordova. Remember that achieving native-like performance will be problematic.
I am looking at this WWDC session: Integrating JavaScript into Native Apps
My understanding is that this is a bridge between Obj-C and javascript, that allows calling javascript code from Obj-C and vice versa. I am wondering, does this mean I can dynamically load my 'code logic' from server in javascript, like in web applications? How should I structure my code so that a large part of my code is in javascript (Obj-C is still needed to drive the js code, of course).
If this is feasible, then deploying changes to iOS projects would no longer be such a painful experience(waiting for review and user upgrade,etc), development could be more agile. I know some teams use phonegap and similar frameworks just to get this advantage, but those solutions doesn't get the most of iOS native UI widgets/features.
If both data and logic can be loaded from server, and the Obj-c part is just the (relatively) stable skeleton code, then iOS apps become web apps without HTML (consider the app a customized web browser which loads code and data from server).
So my question is: how feasible is this? How should I split the code between Obj-C and js to make this as flexible as possible?
As per Appstore Review Guidelines "Apps that download code in any way or form will be rejected"
As mobile web app gets more and more prevailing, a lot of tools become available for developing mobile web app. In my opinion(I don't know if it's correct), there are two ways to develop mobile web app.
One way is to use some javascript framework such as backbone.js and ember.js combined with some other libraries such as Zepto and iScroll to do this. The other way is to use some integerated toolkit such as PhoneGap and Sencha Touch to write the whole thing. What I want to know is what's the difference between these two ways? How should I choose between these two ways?
Phonegap is a wrapper framework which helps html/javascript app to run in a native container and give a medium to execute a native code whereever required. Phonegap is not integrated with Sencha Touch, you can use it with any client-size javascript frameworks like backbonejs, amberjs, jquery, jquery mobile, etc. Application built using Phonegap comes under hybrid application category.
Please check some of this preps to get more info:
http://www.slideshare.net/macdonst/building-native-mobile-applications-with-phonegap
http://www.slideshare.net/kurotanshi/jsdctw-introduction-to-phonegap