SmartMaker of DoliMobile?

In het begin heette het project DoliMobile. Omdat de oplossing niet alleen voor mobiele apparaten bedoeld is en de naam DoliMobile door een ander project is "ingepikt", hebben wij de naam gewijzigd in SmartMaker.
Mogelijk komt u de naam DoliMobile nog tegen in onze publicaties. Neem ons dat niet kwalijk en maak zelf de vertaalslag: DoliMobile = de vroegere naam van SmartMaker.
SmartMaker is het resultaat van een lang denkproces dat erop gericht is het Dolibarr-ecosysteem een technische stack te bieden waarmee ontwikkelaars native mobiele interfaces kunnen aanbieden als aanvulling op de Module Builder.
Het doel is elke Dolibarr-ontwikkelaar in staat te stellen PWA's (Progressive Web Apps) aan te bieden in plaats van applicaties die via de portalen van de GAFAM worden verspreid (en dus aan hun voorwaarden onderworpen zijn).
Korte geschiedenis
Het begon allemaal tijdens een Dolibarr-devcamp en leidde tot een GIFF (zie https://www.dolibarr.fr/forum/t/giff-socle-technique-mobile/43476) die helaas niet is gefinancierd en evenmin door een echte groep Dolibarr-partners is gedragen: https://decidim-dolibarr.informatique-libre.com/assemblies/assemblee-giff-socle-mobile - waarschijnlijk door een gebrek aan mankracht en door de prioriteiten in de huidige context (elektronische facturatie, certificering van kassasoftware, onder andere).
Beweegredenen
Dolibarr is een vrij project en wij vinden dat onze gebruikers een gedecentraliseerd alternatief moet worden geboden, zodat zij niet opgesloten raken in de ecosystemen van de GAFAM, zoals gebeurt wanneer een native applicatie via Google Play of Apple iTunes wordt verspreid.
Een met SmartMaker ontwikkelde PWA wordt dus eenvoudigweg gehost op de Dolibarr van de gebruiker, net als elke klassieke Dolibarr-module.
De gebruiker kan desgewenst een "startpictogram" toevoegen op het "bureaublad" van zijn smartphone (of dat van zijn eigen gebruikers), waardoor de PWA even eenvoudig bereikbaar is als een native applicatie.
Om het proces nog verder te vereenvoudigen raden wij u aan een QR-code van het hostingpad van de PWA te genereren: gebruikers hoeven die dan alleen te scannen om toegang te krijgen, nog makkelijker dan zoeken in het portaal van de GAFAM.
Meer details over PWA's vindt u op de Wikipedia-pagina https://fr.wikipedia.org/wiki/Progressive_web_app
SmartMaker is een project van CAP-REL (preferred partner van Dolibarr), volledig open, en wij hopen er zoveel mogelijk van terug te zien in het Dolibarr-project.
Backoffice (PHP)
SmartMaker voegt zich in een gewone Dolibarr-module (bijvoorbeeld een module gegenereerd met de native Module Builder van Dolibarr) en biedt API's aan de backofficezijde om de elementen beschikbaar te maken die de frontapplicatie nodig heeft.
U kunt dus in uw module alles ontwikkelen wat u aan de frontapplicatie wilt blootstellen, in de taal van de Dolibarr-kern.
Authenticatie
De authenticatiestack wordt in detail beschreven in het project SmartAuth: https://inligit.fr/cap-rel/dolibarr/plugin-smartauth/
De native API van Dolibarr is naar onze mening niet toereikend, wat ons heeft gebracht bij de implementatie die in SmartAuth wordt voorgesteld.
Let op: de inhoud van het project SmartAuth is bedoeld om in de kern van Dolibarr te worden opgenomen, of wij hopen op zijn minst in de kern een oplossing te zien verschijnen die dezelfde functionele reikwijdte dekt .
Zakelijke API voor uw applicatie
SmartMaker biedt u een modern ontwikkelkader om uw efficiëntie te maximaliseren.
SmartMaker brengt een PHP-router mee zoals u die aantreft in moderne PHP-projecten als Symfony of Laravel. Bijvoorbeeld:

Bij deze router wordt ook een PSR-4-autoloader geleverd, waarmee u een logische bestandsstructuur kunt opzetten die aansluit op de ingangspunten van uw PHP-routeringstabel.
(De bestanden met het achtervoegsel Controller.php zijn dus de controllerklassen die in de router zijn opgegeven)

De volgende regel in de router
Route::get('home', HomeController::class, 'index', true);
implementeert de methode "GET /home" en roept de functie "index" van de klasse HomeController aan... alles is gestructureerd en levert u code op die makkelijk te lezen en te onderhouden is.
De klasse HomeController is simpelweg geïmplementeerd in het bestand ./smartmaker-api/HomeController.php en wordt automatisch geladen door een autoloader (PSR-4). Let op: de autoloader vindt u in het bestand smartmaker-api-prepend.php
Front end in React
De front end is ontwikkeld in React en er worden talrijke kant-en-klare objecten aangeboden.
Let op: hebt u nog nooit voet gezet in de wereld van mobiele ontwikkeling, houd er dan rekening mee dat uw broncode voor het mobiele platform wordt gecompileerd (kort gezegd: het resultaat is één groot "js"-bestand). Het is dus belangrijk de volledige keten te beheersen om de mobiele applicatie te kunnen realiseren.
Aanvullende hulpmiddelen
SmartMaker wordt geleverd met aanvullende hulpmiddelen, in het bijzonder een Makefile-bestand dat "oude rotten" onder de ontwikkelaars een glimlach zal ontlokken (make wordt vooral gebruikt bij C/C++-ontwikkeling).
In plaats van ingewikkelde commando's te moeten uitvoeren, hebben wij alles samengebracht in het Makefile-bestand, waarmee u eenvoudiger commando's kunt starten. Make kan een aantal zaken controleren en handelingen automatiseren, een beetje zoals een script.
Om bijvoorbeeld de mobiele PWA-applicatie te compileren en in ontwikkelaarsmodus te starten, volstaat het commando
> make pwadev
Meer details vindt u in het bestand Makefile.dist
Let op: hebt u "lokale" aanpassingen door te voeren, dan kan dat in een nieuw bestand Makefile.local, dat automatisch wordt meegenomen bij het aanroepen van het make-commando!