App-Idee vorhanden -> Wo fängt man bloß mit der Entwicklung an....

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • App-Idee vorhanden -> Wo fängt man bloß mit der Entwicklung an....

    Hallo zusammen,

    ich habe bereits vor einigen Monaten meinen ersten Beitrag hier im Forum geschrieben (Architekturfragen - Anbindung App <-> Datenbank - 1te App) und schnelle Hilfe erhalten. Daher möchte ich mich gerne wieder an Euch alle wenden.

    Ich habe mich nun mittlerweile in Objektive-C eingearbeitet und fast alle Stanford-Vorlesungen von Paul Hegarty gehört (und größtenteils verstanden, auch wenn ich noch sehr viel Übung brauchen werde).
    Die Tatsache, dass Apple nun eine neue Programmiersprache vorstellt, hat mich (ehrlich gesagt) aus den Socken gehauen, weil damit die Stunden, die ich mich Objektive-C verbracht habe, (fast) unnütz waren/sind. Ich habe aber (auch dank diesem Forum und den Diskussionen) dafür entschieden, erst mal meine App-Idee in Objektive-C umzusetzen. Ggf. erfolgt dann eine Portierung in Swift.

    Hinsichtlich meiner App-Idee -> Worum soll es gehen?
    Ohne zu sehr ins Detail zu gehen, soll die App hauptsächlich aus einer Karte bestehen, auf der mehrere POI (Point of Interest) vermerkt werden, die zum einen zentral von mir gepflegt werden, als aber auch von Usern hingefügt und damit allen anderen Usern zugänglich sein soll.
    In der Stanford-Vorlesung baut man schon eine App, die Flickr-Fotos auf einer Karte zeigt und auch dem User erlaubt, ein Foto aufzunehmen und dieses auf der Karte darzustellen. Also es kommt der Anforderung meiner App sehr nahe.

    Ich stehe aber aktuell vor ein paar großen Problemen Herausforderungen:

    1. Wie baut man einen Log-In-Bereich? Profil
    Die App-User sollen nicht anonym bleiben, daher benötige ich einen Login bzw. einen Profilbereich mit den typischen Passworteingabe und ggf. Profilbild. Wo speichert man diese Daten ab? in einer lokalen Datenbank? Der User soll nach dem ersten Login immer automatisch eingeloggt werden.Login via Facebook wäre später auch ideal (ich denke aber dass es hierfür bereits Schnittstellen zu FB gibt)

    2. Webserver?
    Wie kann/muss ich eine Datenbank auf einem Webserver aufbauen. Dieses Thema ist ja prinzipiell total losgelöst von Objective-C oder iOS-Entwicklung. In der Flickr-Demo-App wurde eine API von Flickr genutzt, die durch einen Key jedem belieben User zugänglich gemacht wird. Da ich sicher bin, dass ich nicht der Erste bin, der eine Web-Datenbank-Anbindung haben möchte, fragen ich mich nun, was aktuell state-of-the-art ist? Während der Entwicklungsphase würde ich gerne einen kostenlosen Web-Server nutzen. Muss man sich zwingend auch noch mit PHP & MySQL auseinander setzen? Später ...wenn die App mal anläuft, würde ich auch gerne Geld hierfür bezahlen.

    3. Datenbank-Anbindung?
    Das ist hier mitunter die spannendste Frage. Wie läuft der Datenaustausch? Ich habe etwas von JSON gelesen, bin mir aber nicht sicher ob es der richtige Weg ist. Das Ziel der App ist es Geo-Daten vom Server auf die App zu laden (inkl. Titel, Text, Bilder zur einer POI) und auch eine solche POI auf dem Iphone zu erstellen und auf den Server zuschicken.


    Falls es zu den obigen 3 Punkten "Standard"-Lösungen gibt, fände ich es wirklich super, wenn ihr mir diese verraten könntet. Ich brauche keine detaillierte Lösung, sondern kurze Stichworte zu den drei Punkten wären ideal.


    Vielen Dank für Eure Hilfe !


    NoNameBla


    PS: Ich habe Wirtschaftsinformatik studiert und hatte bereits mit C, C++, Java und ABAP zu tun.
  • Heh, keine Ahnung, was Du genau vorhast - aber es soll Leute geben, die verbringen erstmal Wochen, um einen Server zu designen und zu implementieren; bevor es dann überhaupt zur App-Entwicklung kommt :)

    Wenn Du nicht viele Nutzer und alle nur aus einer Region erwartest, bzw. nicht so viele Daten mit dem Server getauscht werden sollen, reicht sicher etwas "fertiges" bzw. PHP/MySQL (warum eigentlich immer genau das?!). Amin hat da aber auch was mit Objective-C als Server/Service (ich find es ... aber für Dich vielleicht genau das richtige).
    Denk auch dran, wenn Du Nutzerprofile speichern willst, dass es da relativ strenge Auflagen wegen Datenschutz gibt. Auch bereitstellen von Content etc. Würde ich jetzt privat nicht machen wollen.

    Je nach erwarteter Nutzerzahl und Serverarchitektur kann das Hosting dann auch relativ teuer werden.
    C++
  • zerm schrieb:

    Heh, keine Ahnung, was Du genau vorhast - aber es soll Leute geben, die verbringen erstmal Wochen, um einen Server zu designen und zu implementieren; bevor es dann überhaupt zur App-Entwicklung kommt :)

    -> Ok, dass ich nicht die Antwort auf die ich gehofft habe. Ich muss mich hiermit dann nochmal ganz genau befassen. Hast du eine Idee, wo man "schnell" & "kostenlos" einen MySQL-Server herbekommen kann. Ich würde dann erst mal mich hiermit beschäftigen und die Schnittstellen aufbauen.

    zerm schrieb:

    Wenn Du nicht viele Nutzer und alle nur aus einer Region erwartest, bzw. nicht so viele Daten mit dem Server getauscht werden sollen, reicht sicher etwas "fertiges" bzw. PHP/MySQL (warum eigentlich immer genau das?!). Amin hat da aber auch was mit Objective-C als Server/Service (ich find es ... aber für Dich vielleicht genau das richtige).
    Denk auch dran, wenn Du Nutzerprofile speichern willst, dass es da relativ strenge Auflagen wegen Datenschutz gibt. Auch bereitstellen von Content etc. Würde ich jetzt privat nicht machen wollen.

    Weißt du zufällig, wo man diese Auflagen finden kann?

    zerm schrieb:

    Je nach erwarteter Nutzerzahl und Serverarchitektur kann das Hosting dann auch relativ teuer werden.

    Ok...gut zu wissen.

    Danke für deine schnelle Rückmeldung !! I appreciate it !
  • NoNameBla schrieb:

    Hast du eine Idee, wo man "schnell" & "kostenlos" einen MySQL-Server herbekommen kann.

    Am Besten nutzt Du einen lokalen Server, also keinen im Netz mit entsprechenden Kosten.
    Entweder selbst apache.org/ und dev.mysql.com/downloads/
    oder nutzt sowas wie wampserver.com/en/ oder einen MAC-Mini-Server, oder, oder, oder...

    Muss kein Linux-Server sein, Windows reicht aus, nur auf die Groß- und Kleinschreibung achten (bei Windows egal, Linux aber nicht)
    Nachtrag: neben apache/mysql natürlich auch php.net/downloads.php

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von entwickler ()

  • gritsch schrieb:

    sowas gibt es generell nicht.
    irgendwie zahlst du immer (ob jetzt mit geld, zeit, deinen daten, den daten deiner kunden, mieser sicherheit/qualität/service etc kannst du dir meist aussuchen)

    Du hast grundsätzlich absolut recht.
    Der Link zum Wampserver, ist aber eine Ausnahme. Das ist sozusagen nur eine Distribution, zumindest kann ich dort keine Hinweise zu Kosten (Geld,Werbung,Daten..) finden.
    Klar, man muss wissen, was man tut, also was man installiert (firewall, etc). Aber in diesem Fall würde ich „schnell und kostenlos“ gelten lassen. Zumindest gehts nicht einfacher, sich mal einen WAMP Server zum Entwickeln zu installieren.
  • *g* ... also ich würde erstmal mit Zettel & Stift anfangen und mir die Screens (ups .. Views) überlegen und malen. Damit ich erstmal sehe, wie der arme Benutzer wo hin kommt und wie es aussehen soll. Wo brauche ich mehr Platz, ist ein Navigationcontroller notwendig, wie sieht die Maske (schon wieder View gemeint) aus, etc.
    Sollte Dich schon mal 10 Minuten beschäftigen *lol*

    Dann bau ich erstmal einen Prototyp mit gefakten Daten. Alles schön lokal. Also in Deinem Fall eine Mapview mit POI aus einem lokalen Array/Dictionary (oder gleich CoreData, wenn Du etwas lokal auch abspeichern willst). Damit bist Du Damit hast Du dann schon weitere 10 Minuten (oder Wochen) verbracht *rofl*

    Und wenn das alles geht und Du hier im Forum alle Fragen erledigt hast, würde ich mich um den Serverkrams kümmern.

    Bis dann/gleich.
    Gruß
    iet
    ----
    Macht's gut und danke für den Fisch
  • entwickler schrieb:

    gritsch schrieb:

    sowas gibt es generell nicht.
    irgendwie zahlst du immer (ob jetzt mit geld, zeit, deinen daten, den daten deiner kunden, mieser sicherheit/qualität/service etc kannst du dir meist aussuchen)

    Du hast grundsätzlich absolut recht.
    Der Link zum Wampserver, ist aber eine Ausnahme. Das ist sozusagen nur eine Distribution, zumindest kann ich dort keine Hinweise zu Kosten (Geld,Werbung,Daten..) finden.
    Klar, man muss wissen, was man tut, also was man installiert (firewall, etc). Aber in diesem Fall würde ich „schnell und kostenlos“ gelten lassen. Zumindest gehts nicht einfacher, sich mal einen WAMP Server zum Entwickeln zu installieren.


    dass man die test-umgebung schnell und kostenlos zusammenklicken kann ist klar, ich hoffe doch aber dass er die korrekten kosten für das endgültige projekt berechnet und dort sollte er diesen faktor nicht außer acht lassen.
  • ichessetoast schrieb:

    *g* ... also ich würde erstmal mit Zettel & Stift anfangen und mir die Screens (ups .. Views) überlegen und malen. Damit ich erstmal sehe, wie der arme Benutzer wo hin kommt und wie es aussehen soll. Wo brauche ich mehr Platz, ist ein Navigationcontroller notwendig, wie sieht die Maske (schon wieder View gemeint) aus, etc.
    Sollte Dich schon mal 10 Minuten beschäftigen *lol*

    Dann bau ich erstmal einen Prototyp mit gefakten Daten. Alles schön lokal. Also in Deinem Fall eine Mapview mit POI aus einem lokalen Array/Dictionary (oder gleich CoreData, wenn Du etwas lokal auch abspeichern willst). Damit bist Du Damit hast Du dann schon weitere 10 Minuten (oder Wochen) verbracht *rofl*

    Und wenn das alles geht und Du hier im Forum alle Fragen erledigt hast, würde ich mich um den Serverkrams kümmern.

    Bis dann/gleich.
    Gruß
    iet


    ich würde mich zuerst ums rechtliche kümmern denn wenns dort probleme gibt, macht der rest auch keinen sinn.
    dann würde ich mir gedanken um die kosten machen und wer diese tragen soll (sponsor, endkunde, er selbst?) und erst wann dies alles sinnvoll lösbar ist, dann an eine umsetzung bzw einen protoypen gehen...
  • Ich will gar keine PHP/MySQL Diskussion hier anfangen. Nur:

    Ich bin grosser Fan von Node.js und MongoDB. Man braucht keine Apache und hat eine Entwicklungsumgebung auf jeder Plattform in 3 Minuten aufgesetzt und spart sich das ganze hässliche Konfiguriere. Dokumentation findet sich sehr gute im Internet. Wenn man sich eh neu einarbeitet, ist es vielleicht nicht verkehrt, etwas zeitgemässes (..uh.. hippes) zu verwenden. Was auch noch deutlich performanter, skalierender, einfacher zu warten und besser durchdacht ist.

    Einziger "Nachteil": Es gibt keine Billighoster für 1 Euro im Monat :) [EDIT: Wenn man davon absieht, dass man mit Amazon eine "kleine" Anzahl Nutzer ein Jahr lang kostenlos bedienen kann, bei einer Performance die wahrscheinlich immernoch jeden Billighoster in den Schatten stellt :P ]

    Ganz kurzer Überblick über einen CRUD/REST API Server: coenraets.org/blog/2012/10/cre…e-js-express-and-mongodb/ (ich würde einige Dinge anders machen, insbesondere mongoose verwenden... aber für einen überblick reicht es sicher).
    C++