Why doesn't phonegap bundle webkit and V8 into builds instead of relying on the webviews provided by the OS?
iOS does not let you deploy an external interpreter/compiler. Therefore you are limited to the OS's builtin WebView.
Related
I am using flutter web and I want to use some packages that are available for the mobile in the web version of flutter. The pubspec of flutter web look a bit different from that of flutter mobile but this is not the real problem. What I am concerned about is that is it possible to add the packages availble for mobile into that of the web. If yes, what is the proper way to do so?
This is not currently possible (as of June 2019) for any package which is dependent on the mobile OS. The reason for this is that the plugins on mobile use platform channels to communicate with platform-dependent code implementations for Android and iOS written in java/kotlin for android or objc/swift for iOS.
The only way those packages would ever work on the web is if a web-specific implementation were written for them which I assume would either use an emscripten-compiled library or more likely some sort of javascript bridge to call the relevant browser APIs.
From the flutter for web readme:
flutter_web does not have a plugin system yet. Temporarily, we provide access to dart:html, dart:js, dart:svg, dart:indexed_db and other web libraries that give you access to the vast majority of browser APIs. However, expect that these libraries will be replaced by a different plugin API.
For any plugin that is 100% dart code, you should be able to just include it in your pubspec.yaml the same way you would in flutter - under dependencies.
yes you can by take source code packages from github and take codes inside lib file inside package and put it in your project and fix errors may happen inside files by change path import to:
import 'package:flutter_web/material.dart';
and some more changes may need to do it.
it will work 100% and so easy :)
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.
I need an embedded browser in an application. I am thinking of either using WebKit and call it via some API or use QtWebKit.
I do not understand the difference between QtWebKit and WebKit.
does QtWebKit put some UI i.e. frame/window on top on WebKit?
I see that PhantomJS uses QtWebKit when it is being built.
Is there a way to use Chromium as an embedded browser?
Qt provides a cross platform UI framework similar to platform specific MFC (Windows). QtWebkit is Qt's port of WebKit web browser engine. This will mean that you will easily be able to use WebKit's functionality inside a Qt UI application which usually relies on signal/slot mechanism.
QtWebkit embeds Webkit and provides easy to use APIs for your application with the QWebView class. So, I suggest you use QWebView for browser functionality in your application. If interested integration internals, a QWebView::setUrl call, will fall through QWebView -> QWebPage -> QWebFrame -> QWebFrameAdapter to reach WebCore which is core renderer of WebKit. You can see that at QtWebkit github repo.
Pros
Integrating QtWebkit is far easier compared to directly integrating WebKit into your application. Unlike QWebView APIs, there will be no easy to use API's with WebKit. In addition you have to really familiar with WebKit for direction integration. Also note that WebKit project doesn't have releases. Only nightly builds, from which you have to choose from.
Also with QWebView, you will not have handles cases like drawing
combo box drop downs which WebKit leaves to the embedding
application.
Cons
Using QtWebkit, you will not get latest Webkit functionality as
it is released. You will have to wait it's port to QtWebkit.
You can use Qt's QtWebEngine class for using Chromium as embedded browser
I am trying to write my first app using mono and monotouch, that will be a rest client app.
does monotouch supports the rest starter kit dlls(Microsoft.Http.dll) ?
which options do i have to write a rest client on monotouch ?
Thanks
Hammock on github also supports MonoTouch. Just clone, open Hammock.MonoTouch.sln, build, and pick it out of the /bin/mono folder in the project root.
RestSharp on github!
Are there any examples of to use XULRunner to embed the browser control inside a app? (preferably in c or c++ for native win32 apps)
I have tried QT, wxWidgets, Awesomium, chrome embedded, LLmozLib, midori and Embedding/NewApi/Win32
The best one is wxWebConnect (which is part of wxWidgets framework). Why, cause you don't need the whole mozilla code base to build it plus the actual browser control is perfect as in plugins work, everything is rendered correctly (gmail, youtube etc etc)
So what's my problem or question? Well the wxWebConnect uses XULRunner to embed the browser control, my application is native win32 app and not wxWidgets app. I've searched the net to find another example of how use XULRunner to embed the gecko browser in native win32 apps..without luck!
Anyone know of projects/code that just use XULRunner and not require the entire mozilla source tree?
Thanks.
There's a list of XULRunner-based applications at
https://developer.mozilla.org/en/XULRunner_Hall_of_Fame
Whether you use wxWebConnect or embed XULRunner directly you are still going to have as part of your applications deployment the XULRunner engine and it's folder hierarchy. That's the nature of the beast.
Try GeckoFX, if you are okay with using .NET. Looking at the GeckoFX code might also give you enough insights to embed xulrunner in your native C++ Win32 app.