I wonder if it is possible to use chromium engine inside google chrome or the google chrome itself to render a web page inside my WPF application instead of using traditional WebView (because it's the IE engine and it's awful -_-) or implementing CEFSharp (because it uses about 200 MB of space only for the chromium engine)
so in this case I need the target pc to has installed google chrome or any other(firefox or ...)
Soooo ... is there any solution?
thanks in advance
EDIT
I want to create applications based on web UI, - because of being easy and powerful - I know some providing this feature, e.g. CEF Sharp WPF or electron js but they include a full chromium engine with the app. I don't want this.
I want to create my app as light as possible, and my idea is to use chromium engine of a modern browser, that almost everyone has one.
For example, imagine that the user has installed google chrome.
first I locate the installation folder
I use chromium.exe -render path/to/file.html(imaginary) command to render my application UI.
finally bind the UI events to my native code. (e.g. c#(wpf) or any language that you can create desktop apps with it)
One solution is creating web apps by installing a website with the browser. but with that you cannot for example create or read some files in user pc, or any similar operation.
I'm looking for the most light-weight solution...
There is a new Chromium based WebView2 control that you can use to embed modern web content in your WPF application.
Please refer to the docs for more information about the prerequisites and how to use it:
Getting started with WebView2 in WPF
Explanation
So, let's say that you want your UI to be rendered in a chromium environment(aka a browser)… right?
let's take a look at electron js:
it uses NodeJS as backend.
it uses an embedded browser for frontend.
the language used is JavaScript due to NodeJS.
So, you want to use the client's browser to render your frontend instead of embedding a browser inside it.
well, don't embed it!!
you can create a web application(e.g. opened by typing localhost:<port> in browser1) using NodeJS and handle your IPC(between frontend and backend) using ajax calls or a socket connection.
that way you are doing exactly what an electron app does, except that, electron uses a bundled browser.
now you made your app lighter, also if your client do have NodeJS installed, you don't need to bundle NodeJS!
--- inspired by jupyter notebooks ---
Possible Solutions
use NodeJS as backend.
use python and combine it with Flask or Django as backend. (I think this would be the most lightweight solution)
use PHP as backend. (the best, personal opinion)
use ASP.NET/Blazor as backend. (as mentioned in the comments; but doesn't seem to be a lightweight solution)
or use any language that you can create a web application with that!
make a runApp.bat or runApp.sh to simply run your server and open the browser automatically.
Related
I am developing an Extjs App and I have to use a DLL on my app. Someone in this forum told me that it is not possible to make it directly with Extjs but that I have to make it works with a Server Side.
I am new at Dlls and also Server Side is a new term for me. Someone may explay me how Server Side works and How can I make it works with a Dll into my Extjs App.
It depends on the dll, WHat is the dll's use and the purpose.
Extjs is a Web application framework, It is possible to use Windows apps in a web browser, but this generally implies use of a browser plugin.
For example using a scanner app, I had to use a Twain web app plugin.
I am trying to automate a web application using selenium, however that application is developed using Silverlight. Hence, i am not able to inspect the elements in the web page. Could anyone please suggest on how to tackle this problem?
Out of the box, selenium won't natively support testing a Silverlight-based web app. There is https://code.google.com/archive/p/silverlight-selenium/, but it doesn't look like that project is currently being maintained. Beyond that, Silverlight itself is not longer under development, and it won't run on recent versions of Chrome or Edge (or Android or iOS).
I'm busy building a web page where I'm using HtmlEasy and Silken with Google Closure Templates.
With ASP.NET MVC4 there is a technique of serving a mobile version of a web page by changing the file name to .mobile.. So it is not just the same version served up using a different stylesheet - the contents/data too can be different. This is really great since not everything may be relevant for a person using a mobile device.
Does HtmlEasy and Silken provide the same or similar feature? I can't seem to find anything that'll help.
Ok, when you need to detect any mobile device then its better to make use of a database.
For my own project I'm using 51Degrees Lite. Pass the user-agent to the lib and it'll tell you if the device is mobile or not. Then serve your soy template(s) accordingly.
I am developing rich frontend apps which will be used by users running IE 8 and above. I am using angular.js as my frontend framework.
I currently see two choices using es5shim or google chrome frame. What I am not able to discern are the differences between both.
As I understand that es5-shim monkey patches the js engine, and is much more lighter as it doesnt require the user to download and install.
What does chrome frame provide over es5-shim, and which is recommended?
Google Chrome Frame is a application, and need user to install it, es5-shim is JavaScript code, you just need to include it.
If you want to use AngularJS in in IE, you should read this: http://docs.angularjs.org/guide/ie. Long in short, include es5-shim(optional but really useful) and JSON polyfill.
I have a simple company portal which allows users to start their apps from the browser. The URLs in the hypelinks are passed (using Javascript) to a signed applet to actually start the client-side apps. All clients are XP or Vista and all run IE6 or IE7.
I have recently been looking at Silverlight and am wondering if I could do something similar. Ideally, I'd like to do everything from Silverlight and get rid of the applet.
Is it possible to call client-side apps from Silverlight? Can I sign a Silverlight app to give it extra rights?
You can call javascript from silverlight just as use use javascript with links.
For example to call somefunction with parameter:
HtmlPage.Window.CreateInstance("somefunction", new string[] { "parameter1" });
There's a good video about Html Browser integration here
You should revisit this now that Silverlight 4 is out. You can see how to run an exe from HERE.