Django Projects as Desktop applications : how to? - django

How to make Django projects packaged as desktop applications?
I found some tutorials, but is there any solution as DjangoKit , for Linux and Windows?
List of related tutorials :
Deploying a Django app on the desktop
Django application as a stand-alone desktop application

This project started when I needed to
distribute a self contained user
installable Windows demo of a Django
application
dbuilder.py
Edit: Another alternative is Super Zippy, it takes a Python package and its pure Python dependencies and transforms them all into a single executable file.

You might want to look into Appcelerator's (link) Titanium Desktop for developing web apps on the desktop.
It's fully cross platform, Linux, Mac OSX, Windows.
It's supports running Python, Ruby, and JavaScript code in your application all concurrently interacting with one anther in one application. It's pretty sweet.

(Full disclosure, I'm the founder of ToDesktop. I think this is a helpful answer though)
If your Django app is already deployed as a web app then you can wrap the web app in Electron.
If the web app does not need to be distributed to users (i.e.. you don't need an installer or code signing) then Nativefier is great for that. It's free and open-source. I made a Nativefier guide here.
If you're distributing to users then you'll probably want an installer and code signing and auto-updates for Electron. ToDesktop will do all that for you without any coding or configuration.
There's a comparison of the two here.

Related

Will my django web app also work on linux?

So I am building a simple crud webapp using django on frontend I am using typescript no frontend frameworks or libraries whatsoever. And currently I am doing this on windows 10 but if I switch to linux Ubuntu completely and continue building this on linux, Will it have any problems when building it even if I use the same version of django and python that was on windows 10.
I am asking this because of problems in past that it works on one machine but not on different so then vm's and container technologies came out.
Appreciate any help.
No, I don't think you will encounter any issues doing so. Most of the developers develop Django applications on Windows machines and deploy them to Linux servers. so you will find plenty of documentation to get it running on Linux.

MacOS - How to deploy C++ application

I'm having really hard time figuring out, how to deploy C++ application in macOS. By deploying I mean a package which contains frameworks, resources and an unix executable so anyone who downloads my app will be able to run it without any further configuration.
Thanks in advance for all responses.
One solution should be to download Xcode from the appStore (free) : all needed tools to build an application bundle, a command line tool, a framework or a library are available in the software.
When building an application having a user interface, some codes in objective-c or swift are required at some point to communicate with the Cocoa frameworks, but for a command line tool it could be pure C/C++. Here is a link to a tutorial about that specific case.

How to build APK (signed) from hybrid app made in Framework7

I've experience in building native android applications. But I'm completely new to hybrid application development and Would like to use Framework7.
I'm starting to use it. I don't know how to build the project and get an install-able file (or for distribution in playstore).
Any help is appreciated.
Cordova is a good way to start.
When I used to develop Hybrid apps, Cordova was the way to generate APKs.
I really enjoyed it, since it has a lot of Plugins, like FireBase Cloud Messaging Plugin to receive notifications within your hybrid App. It's more than a simple WebView App.
Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.
Use Apache Cordova if you are:
a mobile developer and want to extend an application across more than
one platform, without having to re-implement it with each platform's
language and tool set.
a web developer and want to deploy a web app that's packaged for
distribution in various app store portals.
a mobile developer interested in mixing native application components
with a WebView (special browser window) that can access device-level
APIs, or if you want to develop a plugin interface between native and
WebView components.
Here are all the steps needed to start with Cordova https://cordova.apache.org/docs/en/latest/guide/cli/index.html
Also, I used to follow these steps to generate a signed APK so it's possible to launch it on Google Play.
How do I put my cordova application on the android play store?

Two RCP Applications in one installation

I recenty developed an Eclipse RCP application based on an existing RCP application. It´s basically used as a url protocol handler which reuses authentication and some services. I´m trying to avoid a second installation and look for a way to integrate the new RCP application into the installation of the existing RCP - is there a way to achieve this?
I´m (still) using Eclipse 3.8 and build with tycho.
Assuming that you have multiple applications within your product, you can launch the desired one using the
-application id
runtime argument.
In our application, which integrates multiple Eclipse RCP applications, we have a custom target platform, which bundles all other application plugins, so everything is shipped together. Also, all artifacts, provided by other applications can be retrieved from the maven repository, so that necessary services may be added as a dependencies to, for instance, server side projects. Hope that helps.

Deploying a Firebreath plugin on a webpage without manual installation

Recently I have been experimenting with Firebreath and developed a plugin in order to showcase my c++ projects on my portfolio website. I would like to make it easy for users to look at the projects without downloading files if they are new on my website.
The only issue I have at this point is that when users visit my page, they will receive a message indicating the plugin is missing. I would like to have an option for the users to automatically install my plugin without having to manually download and run it.
The plugin is mainly targetted at Windows users, since the applications are as well. I intend to support Google Chrome, Firefox, Internet Explorer. Currently I am using a MSI installer to install the plugin.
I have found a question similar to this, but I still needed to save the MSI installer and run it.
My question is: What would be the best way to implement this?
There isn't any way to "automatically" do what you want to do. The closest that I have heard of would be to use a java applet that would download and install the plugin for them. This can be pretty reliable on Mac but far less reliable on windows (for a number of reasons, among which the fact that many windows users don't have java installed and that Chrome blocks java applets by default without intervention by the user).
Other options include:
Creating a CAB file installer (only works on IE)
Creating a XPI firefox extension that packages the plugin (requires restarting the browser, only works on firefox)
Creating a CRX chrome extension that packages the plugin (only works on Chrome)
Microsoft ClickOnce used to work pretty well for one click installs of MSI files from a web page, but recently I think it doesn't work on many (if any) browsers; haven't seen it used in awhile, anyway.
There is no "automatic" way to install plugins; that would be considered a severe security issue. This is probably the #1 reason that plugins are as uncommon as they are.
do what adobe does,
create a tiny activeX application downloader, sign the activeX from with cheap SSL
when a user, enters your site, he will automatically be downloading this tiny ActiveX, after installation complete, inside the tiny ActiveX, have some type of batch script to download the EXE from remote server and silently install it.
adobe does this, on every reboot in boot.ini or startups
very easy