Native App mit Web DB programmieren

  • Antworten:3
  • Bentwortet
Alex Breu
  • Forum-Beiträge: 2

20.03.2019, 11:25:57 via Website

Hallo Zusammen,

ich habe ebenfalls vor eine App zu programmieren für Android und iOS. Ich habe jetzt auch mitbekommen, dass der beste Weg die native Programmierung ist.

Vom Aufbau her ist meiner App Instagram ähnlich.

Wo programmiere ich die App für Andorid, welche Programmiersprache wird mir hier empfohlen? Anroid Studio mit Java?

Wie programmiere ich die App bei iOS und in welcher Entwicklungsumgebung? Hier habe ich etwas mit Eclipse und xcode gelesen. Kann man hier auch die App simulieren?

Zudem möchte ich die App gerne über eine Webadresse ansprechen. Wie mache ich das hier am besten und benötige ich hierfür nur html?

Des weiteren hätte ich eine Frage zur Speicherung, wenn sich z.B. 1 Millionen User anmelden würden, mit was würde das Sinn machen, es zu verknüpfen? MySQL, Excel..?

Ich brauch erst einmal eine grobe Übersicht über alles, damit ich mich selbständig in den einzelnen Gebieten weiter vertiefen kann.

Vielen Dank im Voraus
Alex

— geändert am 20.03.2019, 12:41:42 durch Moderator

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.03.2019, 12:38:10 via Website

Hallo Alex,

herzlich wilkommen hier im Forum :)
Ich habe deinen Thread mal in den Entwickler Bereich verschoben.


Für Android nimmst du optimalerweise Java (mit AndroidSDK) und als IDE AndroidStudio.
Für IOS habe ich da kaum ahnung, vermutlich Swift oder Objective-c in X-Code.
Allerdings bracuhst du dafür auch ein Apple Rechner also ein MacBook o.ä.
Simuliaton weiß ich nicht, kann sein, das das bei IOS auch geht (aber dann nur unter MAC OS).

Was meinst du mit "App über eine Webadresse ansprechen"? Meinst du eine Web-App die nur im Browser läuft? (Diese ist ja dann insbesondere nicht Nativ)

Für dein Vorhaben benötigst du auf Serverseite mehr als nur HTML, da du für deine WebApp auch dynamsichen Content laden willst. D.h. einen Webserver mit Java oder PHP müsste es schon sein.

Für deine DB Anbindung brauchst du eine Web API am besten als REST-API (z.b. über Json) mit passender Sicherheit etc.
D.h. da musst du auf Serverseite schon einiges programmieren.
DB im Hintergrund ist erstmal egal, MySql eignet sich am Anfang gut, da meist dabei.
Aber: Excel ist keine richtige DB! Das würde nicht funtkionieren.

Ich glaube du brauchst ersmal eine Idee wie sowas in der Praxis aussieht, dann merkst du ziemlich schnell, dass so eine App nicht mal in ein paar Wochen erstellt ist, sondern du erstmal im vorhinein alles passend planen musst (z.b. Datenmodell/API) damit du nicht 10 mal mit der Implemetierung anfängst.

Edit: Zudem ist alles abhöngig davon, wie gut und welche Sprachen du programmieren kannst. Eine Umsetzung in deinem beschriebenen Umfang benötigt weit mehr als Java/PHP Grundlagen, wenn der Code am Ende einigermaßen sauber und warbar sein soll.

— geändert am 20.03.2019, 12:41:11

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Alex Breu
  • Forum-Beiträge: 2

20.03.2019, 14:58:06 via Website

Hallo Pascal,

vielen Dank für die schnelle Rückmeldung!

Also hauptsächlich soll die App auf Apple Geräten, Android Geräten und evtl. auch Windows Geräten laufen.
Ich habe mein Design der App knapp 1,5 gebastelt und habe nicht vor die App in 2 Monaten irgendwie schnell hinzucoden. Ich plane dafür ebenfalls knapp 2 Jahre ein. Ich bin sicherlich kein Profi Programmierer, deswegen plane ich hierum auch mehr Zeit ein. Ich habe aber den Ehrgeiz es mir selber beizubringen. Jedoch brauche ich dafür erst einmal die Grundkenntnisse.

Ich meinte, dass ich die App auch über www.xyz.de aufrufen kann. Muss ich dann dort über HTML alles neu Programmieren oder kann ich sozusagen die App-Oberfläche im Internet Browser anzeigen lassen? Ist das so verständlich, was ich meine? Hauptsächlich soll die App auf den Smartphones laufen und als zusätzlich soll sie im world wide web aufrufbar sein.

"Für deine DB Anbindung brauchst du eine Web API am besten als REST-API (z.b. über Json) mit passender Sicherheit etc"
-> Ist das hier mit zusätzlichen Kosten verbunden oder kann ich das alles selber programmieren?
Ist die Datenbank allgemein mit Kosten verbunden oder kann ich das ganz alleine selber machen? Ich habe einen Rechner daheim, den ich als Server nutzen könnte mit 2TB SSD. Hast du Größenwerte, wie viel Speicher im Schnitt für 1000 Accounts je 10 Spalten(Datenfelder) benötige? Ich bräuchte hier nur einen kleinen Richtwert um das grob einschätzen zu können.

Ja, da hast du voll Recht. Ich müsste das eigentlich erst einmal in der Praxis sehen, habe jedoch keine Ahnung wo ich da hin soll, deswegen habe ich erst einmal hier angefangen.

Für den strukturierten Aufbau der App, hast du hier eine gute Reihenfolge bzw. Vorgehensweise?
1.) App planen
2.) API erstellen
3.) Datenmodell erstellen...

Bisher kann ich programmieren: C, C++, Java, HTML5, (XML), Python
Ich weiß, das ist noch sehr wenig, aber ich arbeite daran.

Vielen Dank und Gruß
Alex

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

20.03.2019, 18:29:58 via Website

Hallo Alex,

es geht nicht darum welche Sprachen du programmieren kannst, sondern wie gut du sie kannst ;)

Für allgemeine Grunlagen mache dir bitte kleine Beispielprojekte, das wird alles zusammen vermutlich zu unübersichtlich.

Wenn du zusätzlich eine Webseite mit dem selben Content haben willst, musst du diese auch nochmals exta erstellen und programmieren. Von Frameworks die das alles in eine, (Web,Android,IOS) können, rate ich dir dringend ab.

Für dein Vorhaben brauchst du sowieso einen (Web-)Server, allerdings ist erstens nicht empfehlenswert den Server daheim zu hosten (wegen der Sicherheit deines Heimnetzes und du brauchst eine feste öffentliche IP) zweitens ist ein eigener Server vom Stromverbrauch gesehen teurer als wenn du für ein paar (5-10€) im Monat dir ein Webspace + Domain mietest (ganz auf die gewünschte Leistung und welche Features).

Über den Platz in der DB würde ich mir keine Sorgen machen, das ist i.d.r nicht das Problem.
Solange du keine Blobs (Dateien) in die DB schreibst, und man davon ausgeht, dass eine DB Zeile 8Kib groß ist (was schon sehr groß ist für Texte oder so) dann hast du 8Kib*10*1000= ~ 80MiB also sehr klein.

Für die Vorgehensweise:

  1. Mache dir eine prorisierte Featureliste, nach der du dann auch das Datenmodell und die Implementierung richtest
  2. Überlege dir ein Datenmodell das für erweiterungen möglichst flexibel ist (und auch in der DB speicherbar)
  3. Erstelle deine DB Struktur und prüfe ob alle so passt
  4. Datenmodell für Webseite/Api für den Webserver
  5. Zugehörige API etc..
  6. App...

Zusätzlich kannst du während der einzelen Punkte auch schon Code schreiben um zu prüfen ob alles so funktioniert, wie du dir das vorstellst.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Alex Breuswa00
Kommentieren