Thanks for the feedback, I'll see what I can do about a blog post.

As far as writing lua bindings, the API is much easier than V8's (see
section 3 at http://www.lua.org/manual/5.1/manual.html).

Also if you don't like the lua C API, luajit also offers an excellent FFI
library that lets you call into C functions directly from lua.  (In many
cases it actually performs better than the C API).

Hosting private repos is trivial with lit, I made this easy on purpose and
I'm glad you're looking for it.  Basically you install lit on a server and
run `lit serve` and you're done!.  Just point your lit clients to your
server instead of the default public one.  Any time a public package is
requested, your server will proxy the request upstream and then cache the
data locally.  If you publish to your server, it will not forward to the
upstream.

If there is an untrusted network between your clients and private server,
then you'll want to put it behind a TLS terminator and add some form of
authentication (I can add auth to the lit client if needed).  The `lit
serve` command serves using http and websocket (http:// and ws://) on port
4822.  The public lit server is served exactly this way, except I have it
behind an nginx proxy to remap the port to 80 and add 443 for https:// and
wss://.



On Sun, Nov 1, 2015 at 9:14 AM, Bob Calco <[email protected]>
wrote:

> Hi Tim,
>
> I am seeking to create a Lua language binding to a commercial database
> that already has some bindings for Node, Java, .NET, etc. I am familiar
> with and have been using the Node language binding, which essentially gives
> me the functional specs from an API perspective. All language bindings bind
> to a specific shared library -- the instructions for this from the vendor
> are quite good and detailed for the different platforms, although the
> library itself is quite complex, offering C call-in capability to basically
> every feature of the engine.
>
> What I don't know how to do -- mainly from lack of specific experience
> doing this in Lua of any flavor, not just Luvit -- is how to connect the
> dots to bind to Luvit and package it so I can use it. Also I'd like to know
> what options for private repo hosting there are -- I'm currently using
> Sinopia for this on Node, hosted by our big healthcare customer who can't
> permit access to the internet from production machines.
>
> If you could write a post/tutorial that gets someone from "I don't have
> anything on my dev machine" (assume Linux or OS X) to a working/compiling
> project so that I can explore creating this language binding, that would be
> most helpful. The Guide you point to still contains more assumed
> knowledge/experience than I have to feel ready to rock and roll. I'm a
> little confused about the boundaries between Lua/LuaJIT/Luvit.
>
> I really like Lua and have longed for an alternative to Node. Once I found
> Luvit I realized to make the case for using it on a big project I'm working
> on right now I need to integrate it with this database and a few other
> things that sport a nice C/C++ API. I'm up for the challenge just need some
> pointers as I've not really played around in Lua C extension writing to
> date.
>
> TIA!
>
> - Bob
>
> On Sunday, November 1, 2015 at 8:46:09 AM UTC-5, Tim Caswell wrote:
>>
>> There are some pretty good instructions at
>> https://github.com/luvit/lit/wiki/Publishing-Compiled-Code
>>
>> Is there anything you need missing from that?  I could write up a blog
>> post on luvit.io filling in the details you need.
>>
>> On Sat, Oct 31, 2015 at 10:31 AM, Bob Calco <
>> [email protected]> wrote:
>>
>>> Is there a guide somewhere for creating native modules targeting luvit?
>>> I mean soup-to-nuts, from setting one's self up to do such development and
>>> actually going step by step. I'm in the early stages of looking at Luvit as
>>> an alternative to Node for some important projects.
>>>
>>> I've downloaded lit and luvit etc the canonical way described on the
>>> luvit.io website, and understand that luvit binds against luajit, not
>>> the mainline lua binary. My interest is to write a native binding to a
>>> commercial NoSQL database that has a C API.
>>>
>>> The sample projects at the luvit github repo have a native sample
>>> involving a vector module but I'm not sure how to set myself up properly
>>> for this purpose so I can set the CFLAGS options correctly. The CFLAGS
>>> option in the example obviously was local to the author.
>>>
>>> TIA!
>>>
>>> *This e-mail message and its attachments are for the sole use of the
>>> designated recipient(s).  They may contain confidential information,
>>> legally privileged information or other information subject to legal
>>> restrictions.  If you are not a designated recipient of this message,
>>> please do not read, copy, use or disclose this message or its attachments,
>>> notify the sender by replying to this message and delete or destroy all
>>> copies of this message and attachments in all media.  Thank you.*
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "luvit" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
> *This e-mail message and its attachments are for the sole use of the
> designated recipient(s).  They may contain confidential information,
> legally privileged information or other information subject to legal
> restrictions.  If you are not a designated recipient of this message,
> please do not read, copy, use or disclose this message or its attachments,
> notify the sender by replying to this message and delete or destroy all
> copies of this message and attachments in all media.  Thank you.*
>
> --
> You received this message because you are subscribed to the Google Groups
> "luvit" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"luvit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to