Softwarekonzeption - Mehrere Geräte

03/16/2013 21:01 Synatex#1
Hi!

Die Frage/Diskussion richtet sich hier primär an die Leute die etwas mehr als "das ein oder andere Hobbyprojekt" hinter sich haben. Im Topic an sich geht es nicht mehr primär um die Gespräche des Programmierens sondern die eigentliche Konzeption dahinter.

Also, auf der Arbeit werde ich in Zukunft mehrere Projekte zugeteilt bekommen. Mein Ausbilder, sagen wir, ist etwas älter und hält an den "alten" Techniken fest. Nicht dass die schlecht seien, aber halt alt.

Nun muss ich halt schauen das ich mich selbst halb halb weiterbilde und mein Ausbilder mir das Verständnis näherbringt. Wie auch immer, suggerieren wir mal wir hätten in Zukunft ein Projekt eines Kunden:

Quote:
  • Website XYZ für Bauunternehmen
  • Bauunternehmen (Website) soll auf Desktop,Tablet,Smartphone und Phablet mit gleichem Content laufen und in etwa gleich aufgebaut sein.
  • Auf der Website gibt es einen kleines Kontaktformular und Preisberechner womit man ein Bild hochladen kann und diverse Informationen angeben kann.
  • Es soll ebenfalls eine App für Android angefertigt werden welche diesen Preisberechner und den Upload bereitstellt.
Das ganze soll auf einem selbst geschriebenem CMS basieren. Somit hätten wir eine zentrale Anlaufstelle für alle wichtigen Informationen und Elemente.

Nach den paar Überlegungen und generelle Strukturierung stehe ich nun vor folgendem Punkt:

1.) Stelle ich die "Web-App" einmal her und definiere das ganze per CSS und JavaScript so um, dass es einigermaßen auf allen Geräten aussieht?
2.) Erstelle ich für alle 4 Versionen mithilfe der CSS Media-Tags eigene Versionen bzw. eigene Stylesheets und lasse die Anhand von der Bildschirmgröße einbinden?

Der zweite Punkt wäre die Einbindung von dem Content, da die Informationen ebenfalls in der App genutzt werden muss:

1.) Ist es mir egal das eine App existiert, investiere mehr Arbeit in die Website und schreibe Code redundant dazu in der App nochmals und dafür geht das ganze recht schnell von statten?

oder

2.) Schreibe ich eine API die zentral für das Projekt erreichbar ist und baue die Web-App auch nur als "GUI" auf und hole mir somit die Daten von der API und benutze Browser und App nur als GUI. Da wäre der Arbeitsaufwand natürlich um einiges höher da zentrales und einfaches Management sich nicht so einfach funktioniert wie es sich anhört.

Würde mich mal interessieren wie die Meinung von den Leuten hier ist. Mir fällts da wirklich schwer abzuwägen welche der Wege performanter ist. Bei Updates und Änderungen würde ich zu 2 tendieren, würden wir davon ausgehen das dies eine einmalige Sache ist zu 1..
03/16/2013 21:55 Else#2
Quote:
Originally Posted by Synatex View Post
...
Mein Ausbilder, sagen wir, ist etwas älter und hält an den "alten" Techniken fest. Nicht dass die schlecht seien, aber halt alt.
...
Was ist denn an den alten Techniken so schlimm, das Du dagegen abgeneigt bist? Denn nur weil diese "alt" sind heißt es nicht, dass diese sich nicht eher bewehren als neuere. Denn die Kundschaft ist damit vielleicht eher angesprochen, als mit neuerer Technik. Wieso also das Rad neu erfinden?

Quote:
Originally Posted by Synatex View Post
...
Auf der Website gibt es einen kleines Kontaktformular und Preisberechner womit man ein Bild hochladen kann und diverse Informationen angeben kann.
...
Sinn? Ein Bild kann vielleicht etwas wiedergeben. Dennoch kann man hierdurch keinen klaren Preis sagen, nur vermuten. Und der Unternehmer könnte sich hierbei schnell von den Tatsachen täuschen lassen. Denn Bilder lassen sich super retuschieren.

Quote:
Originally Posted by Synatex View Post
...
2.) Erstelle ich für alle 4 Versionen mithilfe der CSS Media-Tags eigene Versionen bzw. eigene Stylesheets und lasse die Anhand von der Bildschirmgröße einbinden?
...
Dazu würde ich eher tendieren. Denn einen universellen Stylesheet gibt es nicht. Jedes Gerät kann eine andere Auflösungen wiedergeben, wobei der Spaß dann bei der Darstellung kommt.

Quote:
Originally Posted by Synatex View Post
...
2.) Schreibe ich eine API die zentral für das Projekt erreichbar ist und baue die Web-App auch nur als "GUI" auf und hole mir somit die Daten von der API und benutze Browser und App nur als GUI. Da wäre der Arbeitsaufwand natürlich um einiges höher da zentrales und einfaches Management sich nicht so einfach funktioniert wie es sich anhört.
...
Eine API ist definitiv Mehraufwand. Selbstverständlich. Das "aber" ist folgendes, dass Du auf die API von verschiedenen Sprachen aus zugreifen kannst, ohne sonderlichen Mehraufwand, als wenn Du es für jede Sprache anpasst - den Syntax.

Quote:
Originally Posted by Synatex View Post
...
Mir fällts da wirklich schwer abzuwägen welche der Wege performanter ist. Bei Updates und Änderungen würde ich zu 2 tendieren, würden wir davon ausgehen das dies eine einmalige Sache ist zu 1..
...
Faulheit ist etwas schönes. Dennoch solltest Du es professionell gestalten, wenn es potential besitzt - das musst Du selbst entscheiden. Der zweite Weg beansprucht mehr Arbeit. Dafür lässt er sich besser Warten, ohne viel Arbeit danach. Bei dem ersten Weg wirst Du wahrscheinlich mit Arbeit überhäuft, siehst dafür aber am frühsten Ergebnisse.
03/16/2013 23:09 Synatex#3
Quote:
Was ist denn an den alten Techniken so schlimm, das Du dagegen abgeneigt bist? Denn nur weil diese "alt" sind heißt es nicht, dass diese sich nicht eher bewehren als neuere. Denn die Kundschaft ist damit vielleicht eher angesprochen, als mit neuerer Technik. Wieso also das Rad neu erfinden?
Wie ich bereits sagte habe ich nichts gegen diese alten Methoden. Teilweise sind diese sogar noch super einsetzbar, manche können aber halt generalüberholt werden. Dies gilt nicht nur für die Technik in der Programmierung, sondern eben auch in der Konzeption. Unsere Devsysteme laufen zum Teil noch immer auf PHP 5.2 was die Entwicklung mit neueren Features und Versionen immer erschwert, da einfach die Technik sich weiterentwickelt hat und es bereits Alternativen gibt die dem "Entwickler" die Arbeit abnehmen.

Quote:
Sinn? Ein Bild kann vielleicht etwas wiedergeben. Dennoch kann man hierdurch keinen klaren Preis sagen, nur vermuten. Und der Unternehmer könnte sich hierbei schnell von den Tatsachen täuschen lassen. Denn Bilder lassen sich super retuschieren.
Sorry für die unnötige Verwirrung. Das Bild ist nur ein kleines "extra". Baudaten und alles müssten theoretisch mit angegeben werden - ging hierbei primär darum, dass ebenfalls Dateien angehangen werden können, was dementsprechend mit in der API eingebaut werden müsste.