Expertise · Desktop-Anwendungen
Anwendungen, die auf dem Computer installiert werden. Für macOS haben wir zwei gebaut; für Windows und Linux ist diese Seite ein Angebot, keine Historie.
Wir bauen native Anwendungen für macOS, mit vom Bildschirm getrenntem Logikkern, damit dieselbe Logik auch auf dem Telefon läuft. Für Windows und Linux/Ubuntu haben wir noch nichts ausgeliefert und schreiben das auch so, mit den Bedingungen, unter denen wir den Auftrag annehmen würden. Die erste Frage bleibt, ob Sie wirklich eine installierte Anwendung brauchen.
Angebot, mit BedingungenRegula e mecanică și o aplic mecanic. Pe macOS avem două implementări proprii, construite și rulabile: o aplicație de bară de meniu cu 25 de fișiere Swift, care refolosește 15 fișiere din nucleul unui proiect de iPhone, și o a doua aplicație, mai simplă, care e un înveliș WebKit peste o aplicație web. Ambele au binar compilat pe această mașină. Dar serviciul, așa cum e numit, acoperă trei familii de sisteme, iar pentru două dintre ele — Windows și Linux/Ubuntu — am căutat serios și am găsit zero: niciun proiect .NET sau Qt propriu, niciun `tauri.conf.json`, niciun Electron scris de noi, niciun `.desktop`, niciun ambalaj deb, rpm sau AppImage. În plus, niciuna dintre cele două aplicații de macOS nu a fost vreodată împachetată într-un instalator distribuibil. Cu doar una din trei platforme acoperită și zero distribuții, pagina se scrie ca ofertă cu condiții. Când vom livra prima aplicație de Windows sau de Linux, se schimbă valoarea, nu textul.
Die erste Frage, die wir Ihnen stellen, ist nicht für welches System, sondern ob Sie wirklich eine installierte Anwendung brauchen. Sie lohnt sich, wenn sie etwas braucht, das der Browser ihr nicht gibt: direkten Zugriff auf Sensoren oder Peripheriegeräte, dauerhafte Präsenz in der Systemleiste, Arbeit ohne Internet, Zugriff auf Dateien auf der Festplatte, ohne dass die Person sie jedes Mal hochladen muss, oder Ausführung im Hintergrund, wenn das Fenster geschlossen ist. Wenn nichts davon gefordert ist, ist eine Website, die sich über einen Link öffnet, billiger zu bauen, zu aktualisieren und zu warten — und das sagen wir Ihnen, auch wenn die Arbeit kleiner ausfällt.
Auf macOS haben wir zwei Anwendungen gebaut. Die erste ist eine Menüleisten-Anwendung: 25 eigene Swift-Dateien plus 15 Kerndateien, die direkt aus dem iPhone-Projekt desselben Produkts stammen — dieselben Dateien, keine Kopie. Sie wird mit einem Skript gebaut, das den Swift-Compiler direkt aufruft, Ziel `arm64-apple-macosx14`, und elf System-Frameworks verknüpft, darunter SwiftUI, AppKit, CoreMotion, Vision und UserNotifications. Das resultierende Binärprogramm hat 6.516.128 Bytes. Die zweite ist viel einfacher und es ist fair, die Zahl zu nennen: drei Swift-Dateien, eine WebKit-Hülle über eine Webanwendung, mit aktiviertem Sandbox und gehärteter Laufzeit, universal kompiliert für Intel- und Apple-Prozessoren. Das sind zwei verschiedene Dinge, und wir nennen sie auch unterschiedlich.
Was wir nicht haben, klar gesagt. Windows: null. Wir haben nach .NET-, WPF-, WinForms-, WinUI-Projekten, `.xaml`-, `.appxmanifest`-, `.msi`-, `.wxs`-Dateien gesucht — alles, was wir auf der Festplatte gefunden haben, gehört zu einer C-Bibliothek eines Dritten, vendored in einem anderen Projekt, die wir nicht geschrieben haben. Linux-Desktop: null — keine `.desktop`-Datei, kein hier gebautes deb- oder AppImage-Paket. Von uns geschriebene Electron oder Tauri: null. Und ebenso wichtig: Keine der beiden macOS-Anwendungen wurde jemals in einen Installer gepackt. Sie existieren als lokal gebaute, ad-hoc signierte `.app`-Pakete ohne Team-Identifier.
Was die bisherige Erfahrung dennoch überträgt, und das ist der Teil, der für ein neues Projekt zählt: die Disziplin, den Kern der Logik von der Oberfläche getrennt zu halten. Im macOS-Projekt importieren die Berechnungs- und Policy-Dateien die Oberfläche nicht, also werden sie auf dem Mac als gewöhnliches Programm kompiliert und ausgeführt, ohne Simulator; ihre Logik-Suite läuft in wenigen Sekunden. Dieselbe Trennung macht das Portieren auf ein anderes System zu einer Frage der Hülle, nicht der Neuschreibung. Darauf stützen wir uns, wenn wir sagen, dass wir Windows oder Linux machen könnten — nicht auf eine Erfahrung, die wir nicht haben.