# Auswahl Programmiersprache



## ---> (1. Apr 2016)

Hi Leute,

ich möchte gerne in naher Zukunft mit einem neuen Projekt beginnen.

Ich würde gerne eine Web App programmiern
und diese mit einem Tool (z.B. PhoneGap) in eine native App (für Smartphones) umwandeln.
Die App soll Inhalte anzeigen, welche sie von einem Server erhalten hat.
Am liebsten würde ich auch noch eine einfache Desktopanwedung programmieren,
mit der die Inhalte der App festgelegt werden können.

Das Projekt besteht also aus drei Teilen (App, Serveranwendung, Desktopanwednung).

Ich habe Kentnisse in Java, (Java Script), HTML, (XML), CSS, PHP und MySQL.

Auf welche Technologien würdet Ihr bei der Umsetzung dieses Projketes zurückgreifen?
Kennt Ihr Codebeispiele, Dokumentationen, Literatur, Tool usw.,
die bei diesem Projekt hilfreich seinen könnten?
Welche Sprachen würdet Ihr nutzen, unabhänig von meinen bisherigen Programmierkenntnissen?

Danke, schonmal im voraus.

Mit freundlichen Grüßen

Euer ""

#Alle halbwegs nützliche Antworten bekommen eine "Gefällt mir"-Angaben.


----------



## kneitzel (1. Apr 2016)

Also die Wahl der Programmiersprache ist oft nebensächlich. Man kann mit vielen Programmiersprachen zum Ziel kommen.

Bezüglich Smartphones gibt es da aber einige Einschränkungen, da hier die Anbieter regulieren, was möglich ist und was nicht.

Phonegap / Cordova hat Du erwähnt. Das ist eine Möglichkeit, um mehrere Smartphone-Familien mit einer Applikation zu versorgen. Aber dabei hat man gewisse Abstriche zu machen und der Wechsel auf den Desktop ist hier zumindest derzeit nicht wirklich möglich. (Und die Bedienung unterscheidet sich auch etwas stärker von Smartphones / Tablets). Die Frage ist, in wie weit man hier eine Applikation schreiben kann, die mit native Applikationen mithalten kann.

Auf dem Server kann man vieles machen - angefangen von node.ja Lösungen über Java, PHP, ....
Hier ist die Frage auch, was man genau machen will und was man an Tools direkt nutzen will. So gibt es diverse Produkte, die ein Aufgabenspektrum für einen Abdecken. Sei es Java EE mit Application Servern oder sei es die Nutzung eines Webservers um dann mit einer Technology dies zu erweitern.

Aus meiner Sicht ist eine vernünftige Analyse immer eine Grundvoraussetzung um dann mögliche Lösungen zu finden. Und dann sollte man einen vernünftigen Ansatz wählen um zum Ziel zu kommen. So kann es (je nach Anforderungen) gut sein, erst einmal eine reine Web-Lösung zu bauen. Dann hast Du ein funktionsfähiges Angebot, welches alle Clients nutzen können, egal ob irgend ein Desktop oder ein mobiles Gerät.
Dann kann man schauen, was Sin macht. Das könnte eine App für Smartphones sein. Dabei ist es dann zur Not auch egal, wenn es nicht für alle Smartphones da ist, denn wer keine App hat, nutzt den Browser.
Das kann auch eine Lösung sein, um Daten zu hinterlegen. Aber da kannst Du evtl. bestehende Tools verwenden oder zulassen. Es wäre blöd, einen eigenen 3D Editor für Modelle zu schreiben - statt dessen würde ich Konvertierer bereit stellen um vorhandene Formate umzuwandeln. Eine eigene IDE würde ich nicht schreiben sondern ich würde was bestehendes erweitern. XML Editoren muss ich nicht selbst schreiben - da gibt es schon genug... Du siehst die Idee?

Das Gleiche gilt für Standards. Du musst keinen neuen Standard entwickeln, wenn es bereits Standards gibt, die Deine Anforderungen abdecken können. HTTP z.B. für den Transport oder eine Beschreibungssprache wie HTML (Da gibt es ja noch deutlich mehr!). Offene Standards sind aus meiner Sicht wichtig, denn dann kommen viele Seiteneffekte hoch:
- Z.B. Kommunikation per HTTP mit dem Server: Firmenproxy kann genutzt werden, super!
- z.B. offener Standard bezgl. Daten: Ich kann bekannte Tools verwenden bzw. muss keine Angst um meine Daten haben.


----------

