[go-nuts] Re: Any option to substitute plug-in package ?

2023-10-28 Thread Mike Schinkel
Oops! 

Meant to say *“Using Lua to develop plugins in Go would NOT be ideal IMO.”*

On Saturday, October 28, 2023 at 10:47:56 PM UTC-4 Mike Schinkel wrote:

> I recently started using github.com/yuin/gopher-lua for a project to 
> allow users to add filtering criteria that would be highly-specific to a 
> user, but I would never consider using it for implementing a 
> general-purpose plugin.  
>
> Using Lua to develop plugins in Go would be ideal IMO. It is not 
> performant like Go, not type-safe like Go, debugging embedded Lua code is 
> difficult compared to working with Delve and Go, and you will have to ship 
> plugin source code, or embed and write to a possibly hidden directory.
>
> For real-world plugins I'd say stick with Hashicorp's go-plugin 
>  or similar as others have 
> recommended, and then only fall back to Lua when you want to allow 
> end-users who are not Go developers to extend your app in small ways.  
> #jmtcw #fwiw
>
> -Mike
> P.S. You could also use JavaScript 
>  instead of 
> Lua, and most people are likely more familiar with that. I chose not to use 
> a JavaScript package as I wanted something significantly lighter weight 
> than JS.  OTOH, I am seriously considering switching out Lua and moving to 
> github.com/antonmedv/expr for my use-case as it is even lighter weight 
> still.
>
> On Saturday, October 28, 2023 at 8:50:54 AM UTC-4 alex-coder wrote:
>
>> Hi all.
>>
>> Of course, in case if anyone is in interest to write  plugins for Go.
>> I found another option for writing plugins by use Lua.
>> I haven't touched the example yet, but I'm giving out the link.
>> https://github.com/yuin/gopher-lua/
>>
>> Thank you.
>>
>> четверг, 3 августа 2023 г. в 15:47:26 UTC+3, alex-coder: 
>>
>>> Hi All,
>>> Currently I walk through the next book about native go development and 
>>> find out that it is possible to use the plugin, 
>>> but with limitations, so it became interesting what alternatives there 
>>> are.
>>>
>>> Thank you.
>>>
>>> четверг, 3 августа 2023 г. в 12:09:21 UTC+3, Christoph Berger: 
>>>
 WebAssembly comes to mind - see, for example, https://wazero.io/

 A plugin would then be a .wasm binary that can be compiled in any 
 language that supports WebAssembly as target.

 Disclaimer: I have not yet tried this approach.

 On Wednesday, August 2, 2023 at 12:14:15 PM UTC+2 alex-coder wrote:

 Hi All !
 Plug-in package is very interesting, but in case the development under 
 windows it does not work,
 So, any hint to use some option instead will be highly appreciated.

 Thank you.



-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/b396f51f-1f2f-4fbc-b1ce-a24bab3043bdn%40googlegroups.com.


[go-nuts] Re: Any option to substitute plug-in package ?

2023-10-28 Thread Mike Schinkel
I recently started using github.com/yuin/gopher-lua for a project to allow 
users to add filtering criteria that would be highly-specific to a user, 
but I would never consider using it for implementing a general-purpose 
plugin.  

Using Lua to develop plugins in Go would be ideal IMO. It is not performant 
like Go, not type-safe like Go, debugging embedded Lua code is difficult 
compared to working with Delve and Go, and you will have to ship plugin 
source code, or embed and write to a possibly hidden directory.

For real-world plugins I'd say stick with Hashicorp's go-plugin 
 or similar as others have 
recommended, and then only fall back to Lua when you want to allow 
end-users who are not Go developers to extend your app in small ways.  
#jmtcw #fwiw

-Mike
P.S. You could also use JavaScript 
 instead of Lua, 
and most people are likely more familiar with that. I chose not to use a 
JavaScript package as I wanted something significantly lighter weight than 
JS.  OTOH, I am seriously considering switching out Lua and moving to 
github.com/antonmedv/expr for my use-case as it is even lighter weight 
still.

On Saturday, October 28, 2023 at 8:50:54 AM UTC-4 alex-coder wrote:

> Hi all.
>
> Of course, in case if anyone is in interest to write  plugins for Go.
> I found another option for writing plugins by use Lua.
> I haven't touched the example yet, but I'm giving out the link.
> https://github.com/yuin/gopher-lua/
>
> Thank you.
>
> четверг, 3 августа 2023 г. в 15:47:26 UTC+3, alex-coder: 
>
>> Hi All,
>> Currently I walk through the next book about native go development and 
>> find out that it is possible to use the plugin, 
>> but with limitations, so it became interesting what alternatives there 
>> are.
>>
>> Thank you.
>>
>> четверг, 3 августа 2023 г. в 12:09:21 UTC+3, Christoph Berger: 
>>
>>> WebAssembly comes to mind - see, for example, https://wazero.io/
>>>
>>> A plugin would then be a .wasm binary that can be compiled in any 
>>> language that supports WebAssembly as target.
>>>
>>> Disclaimer: I have not yet tried this approach.
>>>
>>> On Wednesday, August 2, 2023 at 12:14:15 PM UTC+2 alex-coder wrote:
>>>
>>> Hi All !
>>> Plug-in package is very interesting, but in case the development under 
>>> windows it does not work,
>>> So, any hint to use some option instead will be highly appreciated.
>>>
>>> Thank you.
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/71ab878f-2ce6-4c73-9e85-e9d29e61d718n%40googlegroups.com.


[go-nuts] Re: Any option to substitute plug-in package ?

2023-10-28 Thread alex-coder
Hi all.

Of course, in case if anyone is in interest to write  plugins for Go.
I found another option for writing plugins by use Lua.
I haven't touched the example yet, but I'm giving out the link.
https://github.com/yuin/gopher-lua/

Thank you.

четверг, 3 августа 2023 г. в 15:47:26 UTC+3, alex-coder: 

> Hi All,
> Currently I walk through the next book about native go development and 
> find out that it is possible to use the plugin, 
> but with limitations, so it became interesting what alternatives there are.
>
> Thank you.
>
> четверг, 3 августа 2023 г. в 12:09:21 UTC+3, Christoph Berger: 
>
>> WebAssembly comes to mind - see, for example, https://wazero.io/
>>
>> A plugin would then be a .wasm binary that can be compiled in any 
>> language that supports WebAssembly as target.
>>
>> Disclaimer: I have not yet tried this approach.
>>
>> On Wednesday, August 2, 2023 at 12:14:15 PM UTC+2 alex-coder wrote:
>>
>> Hi All !
>> Plug-in package is very interesting, but in case the development under 
>> windows it does not work,
>> So, any hint to use some option instead will be highly appreciated.
>>
>> Thank you.
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/5bce322e-df4a-46c4-8a3d-35b025e73a44n%40googlegroups.com.