Developing an app extensible with standalone executable plugins

I am developing a desktop application (C++/Qt), which might be roughly represented as consisting of two parts – data-handling part and the GUI.

I want the data-handling part to be extensible with 3rd-party plugins. After thinking over possible strategies (and googling 🙂 ), I’ve come to the conclusion that probably the optimal way is to use plugins as standalone executables which might be started as separate processes from my main app.

The advantage here is that 3rd-party plugin developers are not restricted to using the same language that I use for the main app (C++) – they might create plugins with whichever language they choose. The only thing they need to know is the protocol of data exchange with the main app (for which I see two alternatives – either using standard pipes to read/write data from/to plugins as child processes, or I might set up local server and then exchange data with plugins via, e.g., HTTP requests).

But then I thought – given this advantage, why can’t I remember a single desktop application which uses such strategy? 🙂 Are there drawbacks that I miss? Does anyone know of a desktop app which works with plugins written in entirely different languages?

What are the security controls to consider to prevent usage of malicious SDK when developing our app?

When including SDK in our app it will have access to:

  • The same keychain our app has access to
  • Any folders/files our app has access to
  • Any app permissions our app has, e.g. location data, photo library access
  • iCloud containers of our app
  • All data our app exchanges with a web server, e.g. user logins, personal information

How do we make sure to cover all those and other potential third-party SDK hacks on our main application?

Pricing tiers for creating a “Service Bus” that will be used as an end point while developing remote event receivers

I want to create some remote event receivers for our sharepoint online sites, and to be able to debug/test the code i need to create a service bus inside Azure, to be used as an endpoint for our remote event recievers. now when i wanted to create a new Service Bus, i got those pricing tiers (Basic,Standard, Premium), as follow:-

enter image description here

so i am not sure which pricing tier best fit for creating a Service Bus that will be used only to debug/test our remote event receivers? and what are the factors which affect the Pricing tier?

Second question, if i create a new service bus, will we be paid for this upon creation? or we will be paid upon using the service bus for debugging/testing the remote event receivers (per request/duration)?

Thanks

Developing COM library from delphi legacy code in a c# application

We have a massive amount of legacy Delphi code of a Windows application and we have decided to use the its logic layer for a new C# WPF application. As I have done some research the options that we have include, (1) rewriting the entire code in .NET , (2) using Delphi to C# converters, and (3) using the existing code to develop COM dll. Currently, we are considering the 3rd option and here are my questions: 1) Is developing an ActiveX library right way to go? 2) What are the differences among ActiveX, Type Library, and a genuine dll? 3) Will we able to create objects from developed classes in Delphi if we use ActiveX library? 4) What will be the impact of using ActiveX library on the efficiency of the program?

Thank you

Instax Film Developing Red

I have completed the Instant Pinhole Camera which I mentioned in a previous question. To open the pack of Instax Film, I used a pitch black room, blocked all the edges around the door, and opened it using a few red LED’s.

When I use a rolling pin to develop the film, it is all red. I have read many posts saying red LED’s are fine for use as a safelight. It is possible that I did not expose the photo long enough.

Were these posts false, or is this a different problem?

This is a photo of the front and back of my film:

enter image description here

Is it possbile to avoiding writing router codes twice when developing web SPA app?

When developing web SPA I always need to write router codes twice, one in server side, be it nodejs/express or php/laravel, one in client side, e.g vue router.

Of course these 2 router codes are not same, but the router logic is largely duplicated. So is there anyway to avoid that ?

Developing a simple nodejs application for Bitcoin Cash & Bitcoin SV

I want to develop 2 simple nodejs applications. One for Bitcoin cash and one for Bitcoin sv.

I want to connect this node app with the testnet & implement 3 simple functions in these applications: generateNewaddress(), showAddresssBalance(), and transfer().

I am looking into the bitcore-lib-cash library but can’t figure out how to make this work. Any help would be extremely appreciated!