All Projects → threerings → Getdown

threerings / Getdown

Licence: other
Download, Install, Update

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Getdown

To lang
Translate Ruby strings and arrays with Google Translate.
Stars: ✭ 303 (-27.16%)
Mutual labels:  application
Marky
A markdown editor built with Electron and React
Stars: ✭ 355 (-14.66%)
Mutual labels:  application
Spectro
🎶 Real-time audio spectrogram generator for the web
Stars: ✭ 383 (-7.93%)
Mutual labels:  application
Frontendwingman
Frontend Wingman, Learn frontend faster!
Stars: ✭ 315 (-24.28%)
Mutual labels:  application
Ansible Role Apache
Ansible Role - Apache 2.x.
Stars: ✭ 341 (-18.03%)
Mutual labels:  install
Appify
Create a macOS Application from an executable (like a Go binary)
Stars: ✭ 372 (-10.58%)
Mutual labels:  application
App Info Parser
A javascript parser for parsing .ipa or .apk files. IPA/APK文件 js 解析器
Stars: ✭ 298 (-28.37%)
Mutual labels:  application
Nupdate
A comfortable update solution for .NET-applications.
Stars: ✭ 394 (-5.29%)
Mutual labels:  install
Railt
⚡️ A PHP GraphQL Framework
Stars: ✭ 353 (-15.14%)
Mutual labels:  application
Wtf
Real-time WTF status
Stars: ✭ 379 (-8.89%)
Mutual labels:  application
Ansible Role Nodejs
Ansible Role - Node.js
Stars: ✭ 322 (-22.6%)
Mutual labels:  install
Screeenly
📸 Screenshot as a Service
Stars: ✭ 336 (-19.23%)
Mutual labels:  application
Nixos In Place
Install NixOS on top of any existing Linux distribution without rebooting
Stars: ✭ 370 (-11.06%)
Mutual labels:  install
Laconia
🏺 ‎ A minimalist MVC framework.
Stars: ✭ 307 (-26.2%)
Mutual labels:  application
Npm Consider
Check package dependencies before installing it
Stars: ✭ 386 (-7.21%)
Mutual labels:  install
Console
OS X console application.
Stars: ✭ 298 (-28.37%)
Mutual labels:  application
Webdevscom
😍 All kinds of resources for Developers 🔱 in one place.
Stars: ✭ 364 (-12.5%)
Mutual labels:  application
Freek.dev
The sourcecode of freek.dev
Stars: ✭ 407 (-2.16%)
Mutual labels:  application
Githubupdates
Cocoa framework to install application updates from GitHub releases.
Stars: ✭ 393 (-5.53%)
Mutual labels:  install
Nineanimator
An elegant way of discovering anime on iOS.
Stars: ✭ 369 (-11.3%)
Mutual labels:  application

What is it?

Getdown (yes, it's the funky stuff) is a system for deploying Java applications to end-user computers, as well as keeping those applications up to date.

It was designed as a replacement for Java Web Start due to limitations in Java Web Start's architecture which are outlined in the rationale section.

Note: Getdown was designed in 2004 as an alternative to Java Web Start, because of design choices made by JWS that were problematic to the use cases its authors had. It is not a drop-in replacement for JWS, aimed to help the developers left in the lurch by the deprecation of JWS in Java 9. It may still be a viable alternative for developers looking to replace JWS, but don't expect to find feature parity with JWS.

How do I use it?

A tutorial and more detailed specification are available from the Documentation page. Questions can be posted to the OOO Libs Google group.

Note that because one can not rely on users having a JRE installed, you must create a custom installer for each platform that you plan to support (Windows, macOS, Linux) that installs a JRE, the Getdown launcher jar file, a stub configuration file that identifies the URL at which your real app manifest is hosted, and whatever the appropiate "desktop integration" is that provides an icon the user can click on. We have some details on the installers documentation page, though it is unfortunately not very detailed.

How does it work?

The main design and operation of Getdown is detailed on the design page. You can also browse the javadoc documentation and source code if you're interested in implementation details.

Where can I see it in action?

Getdown was originally written by developers at OOO for the deployment of their Java-based massively multiplayer games. Try out any of the following games to see it in action:

Getdown is implemented in Java, and is designed to deploy and update JVM-based applications. While it would be technically feasible to use Getdown to deploy non-JVM-based applications, it is not currently supported and it is unlikely that the overhead of bundling a JVM just to run Getdown would be worth it if the JVM were not also being used to run the target application.

Release notes

See CHANGELOG.md for release notes.

Obtaining Getdown

Getdown will likely need to be integrated into your build. We have separate instructions for build integration. You can also download the individual jar files from Maven Central if needed. Getdown is comprised of three Maven artifacts (jar files), though you probably only need the first one:

  • getdown-launcher contains minified (via Proguard) code that you actually run to update and launch your app. It also contains the tools needed to build a Getdown app distribution.

  • getdown-core contains the core logic for downloading, verifying, patching and launching an app as well as the core logic for creating an app distribution. It does not contain any user interface code. You would only use this artifact if you were planning to integrate Getdown directly into your app.

  • getdown-ant contains an Ant task for building a Getdown app distribution. See the build integration instructions for details.

You can also:

JVM Version Requirements

  • Getdown version 1.8.x requires Java 7 VM or newer.
  • Getdown version 1.7.x requires Java 7 VM or newer.
  • Getdown version 1.6.x requires Java 6 VM or newer.
  • Getdown version 1.5 and earlier requires Java 5 VM or newer.

Migrating from Getdown 1.7 to Getdown 1.8

See this document on the changes needed to migrate from Getdown 1.7 to 1.8.

Building

Getdown is built with Maven in the standard ways. Invoke the following commands, for fun and profit:

% mvn compile  # builds the classes
% mvn test     # builds and runs the unit tests
% mvn package  # builds and creates jar file
% mvn install  # builds, jars and installs in your local Maven repository

Discussion

Feel free to pop over to the OOO Libs Google Group to ask questions and get (and give) answers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].