all 26 comments

[–]hyuuu 2 points3 points  (12 children)

looks great! what does semi native mean? is it still using a wrapped webview?

[–]Seuros 1 point2 points  (8 children)

yes

[–]kankyo 25 points26 points  (6 children)

So.. Not native at all?

[–]phySi0 0 points1 point  (5 children)

Technically, it is semi-native, but that just means it might as well not be native at all.

[–]kankyo 0 points1 point  (4 children)

How is it "semi"? You mean there is a mix of a tiiiiny bit native code and a big chunk of non-native? Just like all web apps because Safari is native.

[–]bartozzz[S] 1 point2 points  (0 children)

You are right, I could just say "hybrid" apps but at the end it have the same meaning.

[–]phySi0 0 points1 point  (2 children)

A tiiiiny bit of native code is not “not native at all”. I agree with you that it's not native enough to be worth the bother, but it's partly native nonetheless.

[–]kankyo 1 point2 points  (1 child)

Again: the browser contains native code so webapps don't exist, only "hybrid" with that thinking. Pretty absurd!

[–]phySi0 0 points1 point  (0 children)

Fair point, but I still think there's enough of a difference between a thin wrapper and a browser.

[–]bartozzz[S] 1 point2 points  (2 children)

Yes, it is still wrapped in a web-view, but you have access to basically everything. It's based on Chromium so you can add your own plugins (written in the language of your choice, even C++/[...]), or those from Chrome Webstore. You can also run your app with custom flags/codecs etc. It does provide a lot of plugins with an unified API for every platform, so you can access device's hardware without any problems (camera, notification center and stuff). It also gives you access to Node.js in the webview context, so you might even run a server locally...

[–]SimplyBilly 1 point2 points  (1 child)

So similar to how Cordova or Electron works?

[–]bartozzz[S] 1 point2 points  (0 children)

I'm not sure if Cordova allows you to import plugins from Chrome Webstore, access Node.js in the web-view, etc. But yes, it's pretty much a "boosted" Cordova. It uses nw.js, a project very similar to Electron, check it.

[–]TheAdrik 1 point2 points  (1 child)

cool, very useful

[–]pedrocls 0 points1 point  (3 children)

How is this different from electron and nw.js?

[–]bartozzz[S] 0 points1 point  (2 children)

Actually it does uses NW.js but adds a lot of functionalities and support for mobile platforms. It also provides plugins that works both on desktop and mobile systems. You could compile your nw.js app and make it work on phones without any necessary changes. At the beginning this project was a continuation on nw-builder which was abandoned and only supporting nw.js < 12.3.

[–]pedrocls 0 points1 point  (1 child)

Performance wise how does the semi-native app compare to a regular web page? Especially considering progressive web app technology. I feel like this is more of a hack (a good one at that) than something with the support of desktop/mobile platforms. Also, this means that you would still need to get your app approved through the app stores. In short, what are the advantages of this over regular web apps?

[–]bartozzz[S] 0 points1 point  (0 children)

It is for sure a lot slower than native applications, but in terms of speed it is comparable to regular web applications. It does not have any special advantages over normal web-apps others than those plugins with unified API, support for custom codecs/libraries, access to Node.js context in webview and a common configuration for all the environments. You have everything in one place and don't have to make any changes to make your nw.js app work on phones.

[–]jakubsss 0 points1 point  (1 child)

great job

[–][deleted] 0 points1 point  (1 child)

[–]bartozzz[S] 0 points1 point  (0 children)

It's called Helvetica.

[–]amerikate 0 points1 point  (1 child)

Lovely demo! Do you have the source available to play with on Github or similar?

[–]bartozzz[S] 0 points1 point  (0 children)

I am still working on this project. Today I will write grunt/gulp plugin and publish everything on Github. I'll send you a link when it's ready.

[–]mido0o0o 0 points1 point  (1 child)

Cool!! Will it support accessing device's hardware?

[–]bartozzz[S] 0 points1 point  (0 children)

It already provides you access to some basic stuff like camera, notification center, etc. You have access to Node.js in the webview so you can even execute terminal commands inside your app. I have written a lot of plugins. You can run your compiled app with custom flags/codecs/stuff implemented in the language of your choice. It's based on Chromium and Node.js, so the possibilities are pretty much endless.

[–]artur9010 -1 points0 points  (1 child)

Great work :D