Welche Programmiersprache für REST-API Tool?

Mitglied: chrisproud

chrisproud (Level 1) - Jetzt verbinden

27.02.2021 um 12:31 Uhr, 763 Aufrufe, 7 Kommentare

Hallo zusammen,

ich möchte mir gerne eine möglichst einfache aber vielseitig verwendbare Programmiersprache aneignen.
Aktuell habe ich nur oberflächliche Kenntnisse in Webentwicklung (html, php, css, ...) und klassichem PowerShell & Batch gespiele.

Ziel Aktuell (API-Tool):
  • Einfaches UI (4-6 Buttons, Liste mit Checkboxen, Eingabemöglichkeit von Zugangsdaten / API-Keys)
  • Windows only (wenn macOS auch geht ist nicht wild, wird aber nicht benötigt)
  • Soll Daten wie folgt abrufen, zwischenspeichern (temporär), verarbeiten und absenden

Ablauf (der sich natürlich bei der Durchführung noch ändern oder erweitern kann):
  • Abruf der offenen und noch abzurechnenden Zeiten via API von unserer Zeiterfassungslösung (clockodo).
  • Zeiten aus Ticketsystem abrufen. (aktuell noch nicht im Einsatz, wäre aber eine mögliche Erweiterung des Tools in ein paar Monaten)
  • Abruf der Kunden aus unserem ERP System via API (lexoffice).
  • Tool speichert die Zeiten zwischen, sortiert nach Kunden und gleicht die Kundennummern (gemeinsamer Nenner, synchron in beiden Systemen) mit dem ERP ab.
  • Die Einträge werden wieder via API pro Kunde an das ERP gesendet und eine Rechnung als Entwurf erstellt.
  • Wenn kein Fehler in der Folge, abgerufene Zeiten als abgerechnet markieren.

Ich weiß, es ist sicher ein bisschen Arbeit und wird keine 2-Wochen Aktion, würde mir aber grundsätzlich sehr gerne gewissen Grundkenntnisse in Softwareprogrammierung aneignen.

Im weiteren Schritt sollte ich die Sprache auch verwenden können um beispielsweise kleine Startup-Scripte oder Bereitstellungs-Tools zu schreiben, eben ein verlängerter Arm der Batch mit ggf. einigermaßen schickem UI.

Hoffe ich habe hier keine Ratgeber übersehen, habe aber zu den Anforderungen in der sufu nichts aktuelles gefunden.

Danke euch und wünsche allen ein schönes, sonniges Wochenende!

Chris
Mitglied: tikayevent
27.02.2021, aktualisiert um 12:37 Uhr
Am Ende ist eine Programmiersprache nur ein Werkzeug, die Logik dahinter ist wichtiger und ist mit so ziemlich jeder Programmiersprache realisierbar. Da du Kenntnisse in PHP hast, könnte man diese weiternutzen und es als Webanwendung laufen lassen, aber PHP hat eine sehr starke Ähnlichkeiten zu Java und C#. Da ich persönlich so meine Probleme mit Java habe, was das JRE/JDK angeht, würde ich eher zu C# raten, basierend auf .net Core.

Meine meine C#-Entwicklungen lasse ich größtenteils auf Windows, aber auch auf Linux (ohne GUI) und iOS laufen. Teilweise sind es betriebskritische Anwendungen, deren Ausfall große Probleme verursachen würden.
Bitte warten ..
Mitglied: StefanKittel
27.02.2021, aktualisiert um 12:57 Uhr
Hallo,

meiner Meinung nach ist nicht die Sprache sonder die Entwicklungsumgebung nicht das Problem.

Wenn ich eine kleine Web-Anwendung mit API und Datenbank mit einem C# Programm mit Visual Studio unter Windows vergleiche sind das Welten.

Für das Windows-Programm brauche ich 30-60 Minuten bis die UI-Logik funktioniert und ich mit der eigentlichen Anwendung anfangen kann. Bei der Web-Geschichte dauert das viel länger.

Dazu kommt, dass man mit verschiedenen Sprachen zu tun hat.
Das ist immer mindestens HTML für die UI (mit lustig CSS) und Javascript für die Oberfläche.
Dazu dann die Sprache im Backend für die Logik und API.

Und einfach F5 zum debuggend drücken geht hier auch nicht.
Da braucht man dass wieder einen Browser mit Anbindung an XDebug oder ähnliches.
Meist verwende ich Breakpoints mit Spezial-Ausgabe oder Ausgabe in debug-Dateien auf dem Server.

Ich finde es sehr nervig.

btw. Django soll toll sein

Stefan
Bitte warten ..
Mitglied: maretz
27.02.2021 um 13:06 Uhr
Die Sprache is völlig egal - dafür sind es ja genormte Schnittstellen die du mit allem was so geht bedienen kannst... Ich persönlich verwende z.B. Java weils für mich am bequemsten ist -> und dabei gibt es einige Vor- wie auch Nachteile... Der nächste nimmt halt lieber C#, PHP oder von mir aus auch Perl / PHP / Python / Basic.. Alles davon (ok, Basic mal ausgenommen) hat seine Vor- und Nachteile.

Viel wichtiger ist jedoch ob du überhaupt an die Fremdsysteme immer so rankommst da nich jeder dir direkt nen Zugang zur API gibt, geben will oder geben kann. Generell sollte so ein Tool wie du beschreibst aber keine grosse Hürde sein sofern eben die APIs auf beiden Seiten bekannt sind.
Bitte warten ..
Mitglied: chrisproud
27.02.2021 um 13:08 Uhr
Danke euch beiden!

Denke eine Webanwendung ist in meinem Fall nicht das richtige, wie auch du Stefan schon angesprochen hast.
Ich möchte das "Tool" ja möglichst ohne großes Setup (Webserver) oder Einrichtung auch variabel beispielsweise vom Netzlaufwerk auf verschiedenen Rechnern starten können, ohne jedoch aber einen Webserver bereitstellen und pflegen zu müssen.

Ich schau mir mal C# näher an, was ich in der Kürze darüber so erfahren konnte, klingt vielversprechend.
Würde es dann mit einem WPF UI verwenden, oder habt ihr andere Vorschläge?

Was haltet ihr von den Alternativen, über die man so täglich stolpert, wie Python?
Bitte warten ..
Mitglied: chrisproud
27.02.2021 um 13:12 Uhr
Korrigiere auf "Danke euch drei" :) face-smile

Die Anwendungen haben wir schon so rausgesucht, dass sie möglichst offene Schnittstellen haben.
Grundsätzlich hat clockodo (Zeiterfassung) auch eine direkte Verbindung zu lexoffice (ERP), allerdings muss man hier jede Kunden-Abrechnung händisch anstoßen, was bei einem wachsenden Kundenstamm immer mehr Zeitaufwand bedeutet.
Ebenso ist eine Integration eines kommenden Ticket-Systems in beiden Systemen nicht möglich.

Falls es zur Einschätzung jemanden interessiert, es gibt sehr gute Dokus zu den beiden APIs:
https://developers.lexoffice.io/docs/#lexoffice-api-documentation
https://www.clockodo.com/de/api/
Bitte warten ..
Mitglied: maretz
27.02.2021 um 14:20 Uhr
Also - nochmal -> die SPRACHE is erst mal egal... eine Einrichtung hast du nahezu immer:
-> Webbasiert: Du musst halt irgendwo nen Webserver hinpacken
-> Java: Du musst nen (Open-)JDK auf den Arbeitsstationen haben
-> C#: Ggf. musst du irgendwelche .Net-Frameworks auf den Stationen haben
-> Python/Perl/... -> dafür brauchst du halt auch den Interpreter auf dem Rechner

Auch da kommt es eher darauf an wieviel Aufwand es dir Wert ist und wieviel Arbeit es spart. Davon macht man üblicherweise abhängig wieviel man in die Entwicklung steckt.
Bitte warten ..
Mitglied: Lochkartenstanzer
27.02.2021, aktualisiert um 17:01 Uhr
Moin,

eindeutig Assembler und Maschinencode. Schlank, funktional, platzsparend. :-) face-smile

lks

PS: Bei so einer Frage kann man mit jeder Programmiersprache antworten. Es hängt im wesentlichen von den Bibliotheken ab, die Die verwenden willst und deren APIs, welche Sprachen besser als andere geeignet sind.
Bitte warten ..
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
Festplatte aus defekten Notebook ausgebaut - wird nicht erkannt - Wie gelange ich an meine Daten?
gelöst 1nCoreVor 1 TagFrageFestplatten, SSD, Raid15 Kommentare

Hallo liebe Community, nach 7 Jahren hat mein XMG Notebook seinen Geist aufgegeben In dem Notebook waren zwei Festplatten verbaut (eine für System und ...

Erkennung und -Abwehr
Wie geschickt sich Malware verstecken kann - Ein Beispiel aus der Praxis eines Security Experts
colinardoVor 19 StundenTippErkennung und -Abwehr3 Kommentare

Servus Kollegen und Mitstreiter, da ja in letzter Zeit die Exchange-Lücken die Admin-Landschaft ziemlich aufgewirbelt haben und dabei auch immer mal wieder "sogenannte" Admins ...

Internet
Woher holt sich Android die Kontaktdaten von unbekannten Rufnummern?
gelöst anteNopeVor 1 TagFrageInternet8 Kommentare

Hallo zusammen, seit einiger Zeit merke ich, dass mir mein Android Gerät Namen und Informationen zu mir unbekannten Teilnehmern präsentiert. Soll heißen eine nicht ...

Windows Netzwerk
MS Lizenzierung - externe Scandienstleistung
monstermaniaVor 1 TagFrageWindows Netzwerk9 Kommentare

Hallo Allerseits, ich habe da mal eine Frage an die MS Lizenzspeziallisten. Eine externe Firma soll Scandienstleistungen für uns erledigen. Dazu ist angedacht, dass ...

Exchange Server
Exchange Update CU19 auf CU20 Fehler - Eine weitere Version dieses Produkts ist bereits installiert
gelöst StefanKittelVor 1 TagFrageExchange Server6 Kommentare

Hallo, ich habe hier einen Exchange 2016 mit CU19 (15.1.2176.2). Darauf wollte ich nun CU20 installiert. Download Es erscheint Eine weitere Version dieses Produkts ...

Exchange Server
April 2021 Microsoft Exchange Server Security Updates
FrankVor 1 TagInformationExchange Server2 Kommentare

Microsoft has released security updates for vulnerabilities found in: Exchange Server 2013 Exchange Server 2016 Exchange Server 2019 These updates are available for the ...

Drucker und Scanner
Epson WF-6590 druckt nur cyan und gelb
gelöst ITCrowdSupporterVor 1 TagFrageDrucker und Scanner15 Kommentare

Guten Tag :-) Es geht um einen Epson Workforce Pro WF-6590. Er druckt nur cyan und gelb obwohl neue Originalpatronen für schwarz und magenta ...

Windows 10
Windows 10 Updates im Abgesicherten Modus nicht möglich!
gelöst Yuuto.LucasVor 1 TagFrageWindows 1016 Kommentare

Hallo, ich habe aktuell ein Problem bei einem Kunden Rechner. Bei diesem gibt es Probleme mit dem Soundkarten Treiber hdaudio.inf wegen dem der PC ...