Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Intraweb HTML5 app, git and database - do they blend?

I'm on a bit of new ground here and perhaps this is a repost (if so>sorry).

I need some pointers on which direction to go. I have previously made an android app and found myself using most dev time on the UI. I wish to design the UI with HTML5 and distribute it to android and iOS .

I researched a lot about native and hybrid in order to focus my effort. Came across a bunch of platforms like PhoneGap, Appcelerator, Trigger.io and AppGyver (found the latter two appealing). But now I'm confused...

I basically wish to to make an intraweb environment that allows a team to develop HTML5 content that feeds data into a database while keeping the development and database under strict version control.

Thinking of such a setup

  • Local server hosting the source HTML5 code and database(s) - git upstream.
  • Development is then done by git on desktop computers
  • The mobile/tablets pulls the source (git origin) and creates instances that pull request the data entries to upstream (and thereby all other remotes)
  • Multiple units can work on the same instance and contribute to pull request data to the origin. They see changes right away (logic should assure no conflicts - thinking of pinging the devices)

No need to distribute new app via app stores if some new html5 is added (no behavior changed so no manifest violated).

Currently I'm considering making a native app that has a webview and performs git commands, but I'm fearing that I will get stuck (have no iOS programming experience). Is this overkill?

I'm not at all against the hybrid suppliers - just wondering if they will let me achieve what I aim for.

If anyone has some links to online tutorials on how to archive similar task or can provide usefull hints/pointers then I would appreciate it.

I'll upvote all answers that helped me and set the solution for the one that helped me most.

like image 430
Norfeldt Avatar asked Oct 04 '15 12:10

Norfeldt


1 Answers

I worked some years with web technology packed into native apps. You have to consider two things.

First, your app will be just a simple HTML page or it will have fancy UIs, very dynamic UI interaction and animations? If it is complex and very dynamic, stick with native apps. The main advantage of them is the performance, it is VERY superior to WebView packaged apps in HTML5.

Second, the WebView have MANY usage restrictions. It is not like the Chrome browser that you use in your phone/tablet. Too fancy operations will likely have problems with WebView, and the extra time you've spent constructing UIs you will spend working around very annoying little problems.

Another concern, using git bundled in your app will be hard to integrate with the WebView due to its sandbox restrictions. I surely would not recommend to go that way. If you don't use the native phone hardware, like camera and others, you can show in the WebView a remote HTML5 site. It is a much more simple and secure option.

Another thing to note. These packing JavaScript libraries have different objectives. The Cordova (PhoneGap extends this with some Adobe powered features) goal is to make available to your JS code the native phone features, it has nothing to do with UI. The Ionic that was mentioned is focused on UI development. There are other libraries that are focused on UI and are used with PhoneGap/Cordova. My suggestion for fancy and dynamic UIs using HTML5 based technology is the Sencha Touch framework, that is bundled in ExtJS 6 now. Although they are paid framework and require advanced Javascript programming. The learning curve is very big.

Concluding, if your goal is faster UI development and the apps are simple, you can go with Cordova and another UI-focused framework. But I suggest to forget the complicated Git "on-the-fly" app update. If your app uses many native features and has very complex and big UIs, stick to native due to performance.

Another thing to note, well developed native apps consumes (in most cases) much less network bandwidth and battery lifetime.

I hope these informations help you =)

like image 99
Renato Oliveira Avatar answered Oct 14 '22 17:10

Renato Oliveira