tidev / titanium-sdk

🚀 Native iOS and Android Apps with JavaScript
https://titaniumsdk.com/
Other
2.76k stars 1.21k forks source link

Why is Titanium SDK dependent on Nodejs #13962

Closed allcpu closed 10 months ago

allcpu commented 10 months ago

I have searched and made sure there are no existing issues for the issue I am filing

Description

I was trying using Titanium SDK but when I found that it is totally dependent on the nodejs to make apps I was not able to use it as the Titanium SdK requirements are fulfilled but not Nodejs. Even Android SDK and NDK are compatible with the olderversion of PC but this Nodejs is not.

Solution

We should try to seprate the Nodejs and Titanium as Titanium don't require it and only its CLI need it. For the use of CLI many indie developers like me are unable to use this precious SDK.

Alternatives

A new Fork of this SDK be made which is Independent of Nodejs and Is provided as Installer or as Portable format

Platforms

Android, iOS, CLI

m1ga commented 10 months ago

and only its CLI need it

The CLI is Javascript based so you'll need a Javascript runtime on your machine to use it. That is what Node.js is doing here. So in order to remove Node.js from Ti you have to rewrite everything in a different runtime. But that just means you have to install that runtime.

So I don't see that happening at any time as Node.js is a very common and well supported JS runtime. If there even was a switch I'm sure it will be to a new runtime like Bun or Deno and I'm sure they don't support old PC. Going to something like Java or native EXE files would require to have dedicated developers for each platform. And since it's an open-source project there is not the manpower to do that. And it wouldn't be the right way to do it anyways

cb1kenobi commented 10 months ago

How old of a PC are we talking? Windows 95?

allcpu commented 10 months ago

I am not only commenting about pc but also android which is not supported due to the nodejs or someone should implement a free online platform for such devices.

m1ga commented 10 months ago

but then you have to ask the node.js people to support older versions. We just use their tool and at some point we have to stop supporting old versions and use the latest because of security issues and new features.

As a workaround you could even install Linux (I'm running Fedora as my main machine) which can build Android versions without an issue if you can't update your Windows version. You have to use a Mac anyways to build for iOS

m1ga commented 10 months ago

I'll close this for now as we don't have any manpower or interest in removing nodejs at the moment. It's the same as with any other software: old hard/software will be out of date at some point. Especially if it is an external tool that we can't control