Updating conversion, creating readmes

This commit is contained in:
Jonas Zeunert
2024-04-19 23:37:46 +02:00
parent 3619ac710a
commit 08e75b0f0a
635 changed files with 30878 additions and 37344 deletions

View File

@@ -1,11 +1,10 @@
 Awesome Scala Native !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
 Awesome Scala Native !Awesome (https://awesome.re/badge.svg) (https://awesome.re)
Scala Native (http://www.scala-native.org/) is an optimising ahead-of-time compiler for the Scala programming language (https://www.scala-lang.org/). Traditionally, a virtual machine, the JVM 
(https://en.wikipedia.org/wiki/Java_virtual_machine), was required to run Scala programs. Scala Native taps into the compiler to emit LLVM intermediate representation (http://llvm.org/docs/LangRef.html) rather 
than JVM bytecode. Then, the LLVM (http://llvm.org/) compiler infrastructure is used to produce native libraries and executables. Given that Scala Native executables are stand-alone programs, they generally have
a shorter start-up time and low memory consumption. This opens up new avenues to deploy Scala programs where previously the virtual machine would be the limiting factor. For example, developers could write 
programs for the command line or embedded devices.
(https://en.wikipedia.org/wiki/Java_virtual_machine), was required to run Scala programs. Scala Native taps into the compiler to emit LLVM intermediate representation (http://llvm.org/docs/LangRef.html) rather than JVM bytecode. Then, 
the LLVM (http://llvm.org/) compiler infrastructure is used to produce native libraries and executables. Given that Scala Native executables are stand-alone programs, they generally have a shorter start-up time and low memory 
consumption. This opens up new avenues to deploy Scala programs where previously the virtual machine would be the limiting factor. For example, developers could write programs for the command line or embedded devices.
Contents
⟡ Tutorials and Examples (#tutorials-and-examples)
@@ -28,8 +27,7 @@
⟡ Starter for Scala Native (https://github.com/GnaneshKunal/scala-native-starter) - Scala Native project that links to a custom C library.
⟡ Building C code using sbt-jni (https://github.com/nadavwr/scala-native-sbt-jni-example) - Example for compiling C code in a Scala Native project using sbt-jni (https://github.com/jodersky/sbt-jni).
⟡ Example project with external dependencies (https://github.com/lihaoyi/scala-native-example-app) - Example project that uses external dependencies to generate HTML and run a test suite.
⟡ Starter for Gtk+ Projects (https://github.com/jokade/scalanative-gtk-seed.g8) - Giter8 (http://www.foundweekends.org/giter8/) template for Scala Native GUI projects using Gtk+ 
(https://developer.gnome.org/gtk3/stable/index.html).
⟡ Starter for Gtk+ Projects (https://github.com/jokade/scalanative-gtk-seed.g8) - Giter8 (http://www.foundweekends.org/giter8/) template for Scala Native GUI projects using Gtk+ (https://developer.gnome.org/gtk3/stable/index.html).
⟡ Modern systems programming with scala native (https://pragprog.com/titles/rwscala/modern-systems-programming-with-scala-native/) book.
⟡ Write a simple CLI application in Scala Native (https://github.com/ItoYo16u/prettytable-native)
Build Tools
@@ -79,8 +77,8 @@
⟡ libsndfile (https://github.com/edadma/libsndfile) - Bindings for the Libsndfile (https://tiswww.cwru.edu/php/chet/libsndfile/rltop.html) C library for sampled sound manipulation.
⟡ libpng (https://github.com/edadma/libpng) - Bindings for the libpng (http://www.libpng.org/) C reference library for reading and writing PNGs.
⟡ libcairo (https://github.com/edadma/libcairo) - Bindings for the Cairo (https://www.cairographics.org/) 2D graphics C library.
⟡ cairo-xlib (https://github.com/edadma/cairo-xlib) - Bindings for the Cairo (https://www.cairographics.org/) 2D graphics XLib Surfaces (https://www.cairographics.org/manual/cairo-XLib-Surfaces.html) with 
bindings for XLib (https://www.x.org/releases/current/doc/libX11/libX11/libX11.html) as well.
⟡ cairo-xlib (https://github.com/edadma/cairo-xlib) - Bindings for the Cairo (https://www.cairographics.org/) 2D graphics XLib Surfaces (https://www.cairographics.org/manual/cairo-XLib-Surfaces.html) with bindings for XLib 
(https://www.x.org/releases/current/doc/libX11/libX11/libX11.html) as well.
⟡ libyaml (https://github.com/edadma/libyaml) - Bindings for the LibYAML (https://pyyaml.org/wiki/LibYAML) C library for parsing YAML (https://yaml.org/).
⟡ iup (https://github.com/edadma/iup) - Bindings for the IUP (https://www.tecgraf.puc-rio.br/iup/) multi-platform toolkit for building graphical user interfaces.