JXcore vs Electron - node.js

question
I am wondering what the main differences are between Electron and JXcore.
background
I was thinking about how I could make a NodeJS server into an app and I came across both of these. They seem to do the same thing, except that JXcore supports mobile and Electron doesn't.
side question
If Electron doesn't support mobile then how was the slack mobile app created?
Thanks in advance!

From the JXCore site(http://jxcore.com/tech/):
JXcore is a fork on the open source Node.js project
It uses LLVM to compile javascript as opposed to V8 which NodeJS does.
In terms of what are the main differences- Electron is a framework for building native, cross platform desktop applications, where it appears JXCore is a javascript engine forked from NodeJS.
Electron is built with NodeJS, and Chromium. So to make it fair, the comparison would be better stated "How does Electron work with NodeJS vs JXcore". Since I don't have any experience with JXCore, I can't answer that question. I would venture to say the only way to know that is to fork electron and replace Node with JXCore.
Based on your background, I would assume you are thinking about making one application that works cross platform across mobile and desktop environments. To that, I would say it is possible, but you are going to have 2 different projects. There are things in Electron that you wouldn't want included in your mobile app, since they are working with completely different operating systems. You are right that electron does not support mobile (it wasn't built for that).
As far as your side question goes, there are any number of technologies that slack could have used to create their mobile app. They could have used Java , Swift, Objective-C, .NET, Ruby, or Javascript.
There are cross platform tools such as RubyMotion, NativeScript, React Native, and Xamarin that could also be used to create native mobile apps, that all compile down into the native language the mobile OS understands.
A final approach could be the use of tools such as Cordova/Phonegap which create mobile apps via a "web view". Essentially, this is like creating an app that launches a web browser to interact with your phone.
If you are looking for an example on how to build once and use everywhere, I would look at the github repo found here https://github.com/NathanWalker/angular-seed-advanced. This shows a common codebase that can be used in Electron, Web, and Mobile.

Related

Can I integrate a native app in a web browser?

I need to display a native app (in my case, a video game built on unity) in a web browser page.
Local video and input streaming would be a solution, but video encoding is consuming too much computer resources.
Is there a way to display a native app in a web browser page?
Sure, you need to compile your application for WebAssembly. Or, to be more precise, cross-compile it, since WebAssembly binary code runs on a virtual stack machine.
You take your native code, compile it into a .wasm module, and then load that .wasm module with WebAssembly.instantiateStreaming().
There are many toolchains that can have WebAssembly as the compilation target. I think the 2 most popular ones are Emscripten and wasm-pack.
There is also wabt, but that is rather a set of lower level tools, not quite a toolchain.
And since you mentioned Unity, I have no experience with it, but there is some official documentation on WebAssembly.
Here is a game that was developed in C# and cross-compiled to WebAssembly.

What is the browser engine used by HTML5/Javascript Universal Apps in Windows 10?

In Windows 10, it is possible to create Universal Apps using HTML5 and Javascript (as an alternative to C#/XAML).
I'm wondering which browser engine is used to execute those apps. Is it the engine of the Edge browser? Or IE 11? Or something different?
Knowing the engine would make it easier to check for compatibility of frameworks and Javascript features.
Yes, JavaScript/HTML5/CSS3 is native to the Windows Universal Platform.
Here is a very first tutorial :
Create a "Hello, world" app (JS) (archive)
Microsoft Edge and the Universal Windows Platform share the same core components, mainly Chakra (The JavaScript engine) and EdgeHTML (The HTML/CSS rendering engine). You'll get more details here :
Using Chakra for Scripting Applications across Windows 10 (archive)

Mac, Windows, Linux - which platform for web development?

I am using Windows at the moment and i am working on web development. However, my development approach is some kind of retro. My projects are old and i would like to switch to a responsive layout and OOP code on my PHP side. I did some research on new web design and development concepts.
Some examples are Foundtation and Bootstrap framework for responsive and clean HTML/CSS, Laravel and other PHP frameworks for my MVC needs.
However, it seems like all new concepts and frameworks are based on such servers/tools: sass, nodejs, grunt, ruby, mixture and so on... Even Google Web Fundamentals examples are just working on OS X enviroment.
All tools are compatible with Mac OS X mostly. I would like to build a fresh working enviroment.
My intention is not to start another controversy between Windows, Mac and Linux users.
Just wanted to know how to setup best enviroment for my web design and development purposes.
Thanks.
Anything that is not windows is preferred at best it is crippled and at worst it is useless
Linux is easier for those with less experience due to it being closer to what your deployed server will look like.
OS X is fine also but has a extra learning step or 2 for those who are less experienced when it comes to setup and config.
And OS X has support for all the fancy graphic design tools ( as well as excellent hardware support )

Using RestSharp cross-platform using Xamarin

I'm using Xamarin to develop a cross-platform mobile app. To communicate with our REST-service I'd like to create a shared project between these platforms to have a service access layer. The problem is that RestSharp has different projects for different platforms. How can I create a shared project while still using the platform-specific libraries. Does that make sense?
I tried this exact thing a few months ago. I ran into problems when trying to use my "Service Library" on WP8 because of the RestSharp dependency. If I had it to do over, I would do just like the link that #user1010710 mentioned in the comment and use HttpClient.

Is there a cross platform desktop framework that would utilize native libraries such at .NET and Cocoa?

I am starting a project that is heavily graphics related (think, paint app with layers).
Anyway, I have a long history in C#, Java, JavaScript and Ruby. This application will be open source.
But what I'm looking for is a "build once, use everywhere" framework. Most of the platforms I've looked into either seem to be far too outdated, too complicated, or just not a right fit.
I've looked into Swing, WindowBuilder, wxRuby, etc. So many choices and none seem modern enough, have good documentation, etc.
I was a C# desktop developer for years so if I were targeting Windows only, I would go that route easily. But I want my app to run on Macs too. But, I would like the Mac version to look like it was designed for a Mac and the Windows version designed for Windows, etc. I'm looking at the Mono Project currently. But the idea of my Mac users installing Mono doesn't appeal to me.
Anything Ruby based would be cool but not required.
Anyway, what are some recommendations? I use NetBeans, Eclipse and Visual Studio. So I'm not concerned with learning new IDE's if I had to. I even thought about doing it all in JavaScript and using the canvas but since I need to work with large, local binary files, I didn't know if that would be a good option.
Thanks for any suggestions.
Real Studio can create cross-platform desktop apps for OS X, Windows and Linux. It can also create Cocoa apps and you can use it to interface with Cocoa directly when needed.
However, Real Studio creates Win32 apps, not .NET apps so you cannot directly interface with .NET libraries.

Resources