Skip to content
EntityQ1814618· pop 9· linked from 146 articles

free web application framework

Source code

Lift is the most powerful, most secure web framework available today. There are Seven Things that distinguish Lift from other web frameworks. Because Lift applications are written in Scala, an elegant JVM language, you can still use your favorite Java libraries and deploy to your favorite Servlet Container and app server. Use the code you've already written and deploy to the container you've already configured! You can create a new Lift project using your favorite build system by adding Lift as a dependency. Below we walk through setting up Lift in sbt and Maven. It's worth noting that the version of Java you're running may change what version of Lift you're able to run. The following represents our Java compatibility for the recent major releases. If you do not have a compatible Java version you will get errors when you try to use the Framework. If you're using a recent version of sbt, you can create a new Lift application using our Giter8. To create a new, basic Lift application that has some example code, simply execute: In order to run the server, navigate to the application folder and run the sbt command. In the SBT prompt, run: The above command will do what you probably want; the application will recompile and restart whenever you change HTML, resources or Scala code. If your efforts are primarily dedicated to the frontend, you may find that it's not efficient to recompile and restart the application every time you change CSS or HTML. The difference between start and quickstart is that start serves assets from your target directory where the exploded WAR is, and quickstart serves from the src directory where you're editing the files. Note that there is not a leading tilde ~ on the quickstart command. This is so that compile is not triggered when resources change. Your changed resources will be served directly. Note that in this mode Scala changes must be manually compiled. To add the xsbt-web-plugin download the most recent version of our [web-plugin.sbt][wpsbt] file to your project/ folder. Then, enable the plugin for the container you want to use and in your build.sbt file. Below, we activate the JettyPlugin: More information on using the plugin can be found on the [xsbt-web-plugin project][wpproj]. After you've done this, you'll want to add Lift to your libraryDependencies in addition to Logback if you don't already have another SLF4J logging library in place. For example: Where ${scala.version} is 2.13 for the 4.x series. Individual patch releases of the Scala compiler (e.g. 2.12.2) are binary compatible with everything in their release series, so you only need the first two version parts. There are lots of resources out there for learning Lift. Some of our favorites include: If you've found one that you particularly enjoy, please open a PR to update this README! Per our [contributing guidelines][contribfile], Issues on the Lift GitHub project are intended to describe actionable, already-discussed items. Committers on the project may open issues for themselves at any time, but non-committers should visit the Lift mailing list and start a discussion for any issue that they wish to open. The request is for a [supported version of Lift][supfile] The request adheres to our [contributing guidelines][contribfile], including having been discussed on the Mailing List if its from a non-committer. The Lift Framework is divided into several components that are published independently. This organization enables you to use just the elements of Lift necessary for your project and no more. core: Core elements used by Lift projects. If you wish to reuse some of Lift's helpers and constructs, such as Box , this component may be all you need. However, a web application will most likely require one or more of Lift's other components. web: This component includes all of Lift's core HTTP and web handling. Including lift-webkit in your build process should be sufficient for basic applications and will include lift-co

Excerpt from the source-code README · 10,066 chars · not written by Vinony

Available in 8 languages

via Wikidata sitelinks · CC0