kevinresol / napi

Native-friendly API for Haxe targets
11 stars 1 forks source link

Native libraries project formats #1

Open kevinresol opened 7 years ago

kevinresol commented 7 years ago

Information about each target's native project format and library distribution format. For use in the toolchain. (Auto create native project, submission helpers, etc).

Target Project Format Distribution Format Repo / Manager Getting Started Submit
JS/Node.js package.json source npm npm init npm publish
C# .nuspec dll NuGet
Java gradle, buck jar, aar maven, jcenter
Python ? source pip
Lua ? source LuaRocks
C++ ? source
static/dyn lib
?
AS3 ? source, swc ?
PHP composer.json source composer composer init packagist.org

Note: If anyone knows the missing information, please comment below and I will update accordingly.

benmerckx commented 7 years ago

PHP Project Format: composer.json Repo / Manager: composer Getting Started: composer init Submit: through packagist.org, releases are automatically fetched from a public repository (source must be comitted)

benmerckx commented 7 years ago

Also, AS3 is probably easiest to be distributed through an .swc file: http://old.haxe.org/manual/swc

kevinresol commented 7 years ago

Argh, right, I actually mean swc instead of swf :p

ghost commented 7 years ago

C#: NuGet Lua: LuaRocks Python: pip

I'll do some more research on project formats, although CMake is a good option for C++

Lotes commented 5 years ago

apt-get is one way to distribute C++ libs.

Another issue is the mass of platform settings.

It would be great to have an own package distribution server for each platform, I guess.

Lotes commented 5 years ago

For most targets you have actually two options

  1. Compile the native code
  2. Compile C code and create bindings, which should be faster I guess.

In C# there exists "dotnet new ..." to create new applications.