Cross-OS statically typed web platforms: Java, Mono and what else?

I understand that this issue may be closed due to its open nature, but I'm curious not.

If I wanted to develop a cross-platform web application using a statically typed language, what would my choices be? I know Mono and Java, but what else is there?

(When I say cross-platform, I mean Windows and at least one general taste of Linux)

+7
source share
5 answers

There are several high-performance Haskell web frameworks that emphasize strong static correctness:

The goal is to rely on a type system to provide very optimized code and zero chance of crashing at runtime.

To quote the Yesod website:

Rotate runtime errors at compile time

Yesod believes in the philosophy of creating a compiler for your ally, not your enemy. We use a type system to ensure as much as possible, from creating proper links, to avoid XSS attacks, to deal with character encoding issues. In general, if your code compiles, it works. And instead of declaring types wherever you let the compiler define you, you are with the type of output.

+3
source

You can use one language for client and server parts:

  • Java
  • FROM#
  • Go go
  • Scala
  • GWT (Java framework)
  • Haskell Web Frameworks
+4
source

If you mean statically typed, unfortunately, this is not so much. The Google Go language seems to be starting to grow in the web application space (there is Go support for the Google App Engine and projects like GoWeb ), but these efforts are probably not very mature yet.

Scala may be another possible option. Although it also runs on the JVM, its web frameworks are very different due to language additional features (see, for example, Lift ) and may cost a separate look.

+2
source

In addition to Java and C # (via mono), you can also use (modern) C ++ in the form of Wt (C ++ Web Toolkit) . Now the C-compatible part of C ++ is not strongly typed, but otherwise C ++ programs are type safe.

If you need really strong security, you can use Haskell with Yesod . Yesod's goal is to use strong types to prevent common web application programming errors. For example, URLs are checked by type. You cannot build a link inside the application without supplying the correct parameters. Hiding custom content when rendering a web page is another situation where the Haskell compiler is used to ensure that strings are properly escaped before being included in the displayed page.

+2
source

I believe that Ruby is heavily printed, so Ruby on Rails would be a good choice for this.

+1
source

All Articles