I have many questions about this framework.
First, I understand that if you want to create a new application, the only option that is not advisable is Electron because Miletus is better and is natively supported by TMS.
Is this assertion true?
Second, For mobile applications, the only option is PWA.
Is this true, or does Miletus allow mobile applications?
Third, apart from the work of making the web more adaptative, is it complicated, in time, to convert a web application into a mobile one?
Fourth, since this conversion, Do I need to maintain two branches of the same application?
Is it possible to maintain a unique application and deploy it for the Web and the mobile?
Thank you for your commentaries, comments, experiences and so on.
We have started our work on Miletus because of our experiences with Electron and from our experience, we could see a better architecture than what Electron uses. So, yes, we would recommend Miletus over Electron.
Miletus focus is on desktop applications. For mobile apps, we recommend PWA. One of the main reasons we do not make Miletus for mobile is that with this Miletus architecture it would still require deployment via an app store and avoiding this dependency on an app store is a key benefit of PWA.
Other than responsive design to make the web app work well on a mobile device, I don't see particular needs for additional adaptions.
You could build a code base that allows to create both a Miletus and a PWA app via two different project files and shared units between these two projects. You would only need to take care that when you use for example Miletus specific classes/components/units, that you use a conditional define to exclude this when building for PWA.
The question about maintaining two applications is related to an application for Web and Mobile. I suppose that the question about having two project files is valid for this case, too. Isn't that true?
I would suggest to build a PWA with one project as this PWA works both on mobile and on desktop browsers. I personally do not see a need to make a different project for web & mobile. Just make one web app that will also be usable from mobile.
Excellent question/answer, extremely helpful. After reading this, I will build a PWA, but have a question on using SQLite database. I see there is a Miletus component called MietusSQLiteDBdriver but do not see any such connection for the TMS Webcore PWA. How can I have my PWA connect to an SQLite database?
I guess I should also ask, if Miletus is for desktop app only, then why use the Miletus framework at all when I can simply use Delphi directly to create desktop only apps? Clearly I am a newbie here on TMS Webcore.
Create a backend REST API server that provides a gateway to your SQLite DB. TMS XData is a possible solution for creating such backend REST API server:
Bruno and Andrew, thank you both for the quick feedback. I am extremely impressed with how robust these tools are and how responsive each person on your team has been - looking forward to getting my project off the ground - David.