Lift is actually doing a Ruby-variant now, check the google Groups.
Also PHP and Rails are both not backend frameworks. PHP is a language for one, but both of them are not usable for backends. They all are more or less request-cycle-based, that makes them both not usable for backend systems.
lift/scala is the way to go for everything from frontend to backend (actors, akka, etc).
I would personally use lift for back end as well as front end, but you could use lift as a rest service and use any front end like GWT, plain jQuery, etc
I'm currently using Lift as a portal framework, with various GWT applications inside the same tomcat container.
Authentication happens via lift, and calls a hidden GWT app form to set a session id (the user data is in the same Postgres db).
It's the best of both worlds - Lift lets me create a stable, ORM enabled website with lots of piping already done, and for all in depth data analysis (it's a finance related app), I link to the GWT app - mostly for cell widgets / charts.
- Using Lift with other front end web frameworks?
- Can we define a set of DSL operation in Scala that perform parallelly with each other just like using pipe-line processing in Linux
- Using Lift 2.1 on Google App Engine with Scala 2.8
- Using Enumeration fields with Lift and CRUDify
- adding column with the length of other column as value using scala
- Using other JVM languages with Tomcat servlet container
- How to compare one row with all other rows in spark using scala
- LIFT setup for web project: generate with mvn, and manage with sbt
- Using hibernate configuration with the Lift Framework
- how to get autocomplete text box value using lift web
- How to send cookie with http request in Scala without using any other library?
- Play Framework strips "=" from URL during a Web Services call with empty values (Resulting in a 500 error at the end point)
- How to use a Scala IDE (Eclipse or NetBeans based) to develop a Scala Lift web application with SBT?
- Scala throws an error when extract json values using lift web
- Lift simple SiteMap with page other than index.html on startup
- Get previous 12months with month end date from given month using Scala
- How to filter a Dataframe with information from other Dataframe using command filter
- In scala, is there an alternative to using the :: to append to front or end of a list?
- Spark Dataframe, add new column with function using other columns
- Not getting other column when using Spark sql groupby with max?
- Scala Lift JUnit Test Fails With "error: not found: type foo" Using mvn test
- Is there a way to export csv or other files in spark 3.0.1 using scala with name different than part*?
- Given events with start and end times, how to count the number of simultaneous events using Spark?
- Cannot locate button web element with xpath using selenium
- Using the Lift web session from Lift rest session
- I am reading JSON data from kafka and parsing the data using spark. But I end up with JSON parser issue
- How to update a mongo record using Rogue with MongoCaseClassField when case class contains a scala Enumeration
- Class broken error with Joda Time using Scala
- Using Scala traits with implemented methods in Java
- why is the lift web framework scalable?
More Query from same tag
- Batching of Dataset Spark scala
- Immutable composable builder in scala
- Extract host name from URL using scala
- How to filter/disable a scalac option for all subprojects in SBT in a DRY way
- "Sharing" parameterized types
- Use library in Spark-shell
- How to pattern match the parent trait (or class, or object) of case classes?
- Missing import scala.concurrent.ops
- Filter Scala DataFrame: Error integer number too large
- How to prevent stack overflow when using Scala's Predef.implicitly
- Dependency on Verilog libs
- Why does Doobie use free monad?
- Change output filename prefix for DataFrame.write()
- Spark - Replace first occurrence in a string
- oop -- mutual dependency between chessboard and its pieces
- How can I escape special symbols in scala string?
- scala type inference with _ place holder
- What's a zip join? Have you ever heard of that, or a pairwise join?
- Create a node in scala
- "No implicits found" when creating a Flink DataStream from a collection of Case Classes
- How do I convert Array[Row] to RDD[Row]
- Higher order Functors in scala
- Pattern matching higher-kinded parameter
- logback creates new file every prog restart
- Using map to create a copy of an array (with generic type) results in error [Scala]
- Object(id, List) to multiple List(Objects(id,field)
- Surprising equivalences and non-equivalences regarding this.type
- What is the purpose of *> and <* in Scalaz
- Scala Unix Timestamp to Date
- How to create custom list accumulator, i.e. List[(Int, Int)]?