I discover new frameworks for developing desktop apps. I found electron atom and it looks very well and matured. But I have one qustion:
Is it possible to host different electron apps in one big electron app?
in our .NET applications we have a "global framework" Form, which loads different applications in frames. But every application can runs for itself and can be compiled to an exe-file.
The goal is to write different standalone apps, but with the possibility to create a "suite". For example I have apps for notes, todo lists, calculating,...
and I will give the user the chance to get "all of them in one app" (the apps will display in different tabs for example).
Is this possible? And if yes, please provide some links to a guide or else.
Related
I'm building an application with electron that is offered as a native binary and is hosted online. I need to integrate google sign in on both platforms, but when setting up the client ID in Google Cloud Console I have to choose between a desktop app or web application. When I only use one, it works on one but not the other. Can I detect which platform I am running on and switch the client ID based on that? Or do I just need to hand change the client ID for the website every time I push it to the server?
Repo for electron app: https://github.com/Virtual-FTC/VRS-Local-ElectronApp-base
Repo for online version: https://github.com/Virtual-FTC/vrobotsim.online
I am using electron to convert my web app to desktop. I have two HTML pages that I would like the user to be able to access. Is there an elegant way to switch between pages via electron? Im thinking like a side panel or something similar. I have tried electron tabs and it was no good.
Electron only provides a headless chrome environment to run your app in. There should be no difference between your web app and your electron app functionality wise.
Can I write a offline only application using HTML, CSS and Javascript ( + AngularJS) for mobile devices (for example with cordova), so the user won't need any internet connection to start and use the application. As far as I know cordova just creates a webview and I wonder now, how will the page be shown, when there is no hosting...
Imagine a simple calculator or todo app which works just offline.
Is this possible? Or do I have other ways except cordova...
The pages are hosted inside the app. The html,js,css files are packed inside the apk. When a user install the app it download the pages within the app. And webview access the pages locally. So you can make app both online and offline.
suppose the android project directory. Html pages are kept in the directory
yourprojectfolder\android\assets\www
And in the java file at the app start it just create the webview and call the index.html page. Now if you need any device function like notification / geolocation you can use them using plugin. Plugins are those that creates bridge between html and java files.
Also several databases are available for phonegap development. So you can store data locally. Go through the documentation for more and create & understand the structure.
In the last year I got to know that many developers started developing desktop applications that run on the web browser.
I am also trying to get into it and I'm trying to understand how I should start with such kind of development.
I first thought I should create a regular client-server application, i.e. with Apache Tomcat or with PHP, and for each launch of an application, to launch a new server on localhost and to open a browser that will load the application.
I've lately got to know that there are packages that do the server-client work for you, such as node-webkit.
I don't know where to start and I'm very confused...
When developers say that they develop desktop applications in Javascript or such that run on web browser - do they probably mean that the use node-webkit? Or does they do the complex structure I described above (JSP/PHP server on localhost) ?
Many development models with web technologies exist, but they have different purposes and it all depends on what you want to do.
You seem to be mixing 3 models
Classic websites
A server (with PHP, Java or whatever) generates HTML.
A user uses a browser to access it.
When the user clicks somewhere, the server is called again and generates another HTML file.
Single Page Applications
This model is often used when writing websites that need a lot of interactivity. For example Gmail, or Google docs are SPAs (more or less).
SPAs are websites (you can access them at an URL) where all templating is done client side, and the webserver only exposes a HTTP API.
Most of the times, people use frameworks to make those like:
AngularJS
React
Backbone
Desktop apps with web technologies
That's just coding an application that you can install on a computer or phone with web technologies (javascript, css, html).
There is no server.
Tools that enable programmers to do this are
Node webkit (for desktops)
Cordova (for phones)
Many others
Most of the time, programmers also use SPA tools in conjonction with those to help them during development
The selection of technologies for building an application depends on the use of your application and the platform you want it to run on.
Web applications in contrast to Desktop applications are hosted and served by servers (like Tomcat) which are then requested and present to you by your browser.
Desktop applications are running on your local machine and they are independent from your browser. However node webkit, allows you to design applications using HTML and making them dynamic using node. The end result is a standalone application that runs as a browser emulation that is able to render and run software based on HTML and javascript. (In this case nodejs serves the application locally and the standalone web-app is the client).
Long story short node-webkit emulates the client-server model that is used for classic web apps, to build desktop applications.
It is an unorthodox way for doing things IMHO, but it might be a good start for getting into application development.
Try this-
https://electronjs.org/
Build cross platform desktop apps with JavaScript, HTML, and CSS. With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker.
So this maybe a silly question, but i guess I'm missing something.
I host my meteor app in modulus.com.
The goal is to have a single code-base for all devices and the web, fetching from the same database.
So everything happens in the web is immediately synced with the mobile app or vice versa.
Should i provide different builds (different modulus projects [web, ios, android]) all connected to the same db to make it all work as one application?
A single build will do?
How will this work?
thanks
Yes, you can use the --server option to specify which Meteor server your built mobile app should point to. This way, you have one Meteor backend running the web app, Android app, and iOS app. This should work just fine with Modulus.