Announcement

Collapse
No announcement yet.

Welche Sprache für mein Projekt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Welche Sprache für mein Projekt

    Hallo zusammen,

    Ich bin neu hier und habe dieses Jahr meine Ausbildung zum Applikationsentwickler abgeschlossen.
    Der Vater von einem guten Freund, hat eine Schneiderei und ist auf der Suche nach einer Software, mit welcher er seine Kundendaten pflegen kann und Aufträge erstellen / ausdrucken. Zudem soll die Software über eine E-Mail und SMS Funktion verfügen.
    Er will nicht viel Geld ausgeben, daher habe ich mir gedacht, dass ich es für ihn programmieren kann. Ich denke, es wäre auch eine gute Übung für mich.
    Mein Ziel ist es eine Applikation zu entwickeln, welche seine Wünsche abdecken kann, modern aussieht und leicht erweiterbar ist.
    Nun bin ich mir unschlüssig, welche Programmiersprache ich zur Entwicklung verwenden soll und was für eine Art Applikation es werden soll.

    Ich habe knapp ein Jahr Erfahrung mit JavaServer Faces und dem Framework Primefaces zur Erstellung von Webapplikationen. Ich denke, hier ist das Problem, dass ein Webserver zu teuer für ihn wird.
    Als alternative habe ich knapp drei Monate Erfahrung in C# / Windows Presentation Foundation zur Erstellung von Desktop Applikationen.
    Als Datenbank habe ich an eine PostgresSQL Datenbank gedacht, da ich damit die meisten Erfahrungen sammeln konnte.

    Nun wollte ich von euch Tipps holen, welche Programmiersprache ich verwenden soll und warum.
    Ist die Datenbank gut oder soll ich eine andere nehmen?
    Eventuell weite Tipps, wie ich mein Projekt angehen soll?

    Vielen Dank
    Gruss
    Mihawk21

  • #2
    Wie soll das jemand sagen, ohne die Anforderungen zu kennen?

    Wie soll man eine DB empfehlen, wenn man keine Infos wie Mengengerüst, Größe der zu erwartenden Daten usw. hat? Was ist "gut" genau für eine Anforderung?
    Wahrscheinlich würde es HSQL auch tun....

    Ein Webserver ist zu teuer, aber für den SMS-Versand nutzt du was? Ein eigenes Gateway? Einen öffentlichen Dienst über den dann die Geschäftsdaten laufen?
    Eventuell weite Tipps, wie ich mein Projekt angehen soll?
    Was wurde in der Ausbildung zum Applikationsentwickler gelehrt?



    Die Fragen erstaunen, wenn du diese Ausbildung hast.

    Erstelle die Anforderungen; prüfe was du für Resourcen hast (was kannst du [du solltest doch auch Java können]); prüfe, wie du das umsetzen kannst.

    Im überigen gibt es solche Software zuhauf. Es ist nicht nötig das nochmals zu entwicklen und wenn du alles selbst machst, wirst du wohl > 6 Monate dran sitzen
    Zuletzt editiert von Christian Marquardt; 08.11.2016, 13:54.
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post

      Was wurde in der Ausbildung zum Applikationsentwickler gelehrt?
      Die Fragen erstaunen, wenn du diese Ausbildung hast.

      Erstelle die Anforderungen; prüfe was du für Resourcen hast (was kannst du [du solltest doch auch Java können]); prüfe, wie du das umsetzen kannst.

      Im überigen gibt es solche Software zuhauf. Es ist nicht nötig das nochmals zu entwicklen und wenn du alles selbst machst, wirst du wohl > 6 Monate dran sitzen
      Mmhja, eine 3 jährige Ausbildung dürfte sehr an der Umsetzung (mit 1 oder 2 Programmiersprachen) orientiert sein, Algorithmen, Programmiertechniken, ..
      Da ist sicher auch der Bereich Analyse und ein paar akademische Ansätze dabei (Keine Codezeile / Toolentscheidung vor vollständiger Kenntnis der Anforderung, ..) aber es ist eben doch eine Ausbildung.
      "prüfe Resourcen" das macht er ja gerade hier, er hört sich um und schaut über den Tellerrand.
      Und ernsthaft, angenommen, er hätte es nach (irgendeinem) Lehrbuch gemacht und tagelang den Schneider mit Fragen gelöchert und hier alle Anfoderungen und seine Resourcen gepostet, hätte er die Antwort bekommen: "Frag nach einem konkreten Problem und wir helfen Dir"

      Und ja, das gibt es alles fertig, ohne dass man es mit bezahlbarem Aufwand mal eben nachbauen kann, außer die Anforderungen sind wirklich sehr simpel.

      Ich würde den TE ermutigen, die Anforderungen etwas genauer zu fassen (mit dem Schneider) und zu schauen, was es im Opensource Bereich gibt. Hier hätte er vielleicht die Möglichkeit, mit kleinen oder wenig Anpassungen, allein schon mit einer Installation und Integration in die Arbeitsabläufe erste Erfahrungen zu sammeln und einen Eindruck von solchen Softwaren zu bekommen.

      PostgreSQL ist nicht das schlechteste (untertrieben), ich würde es auch für eine sehr kleine Lösung nehmen. Man muss sich allerdings bewusst sein, dass es eben doch schon ein Profisystem ist, das jenachdem gewisse Wartungs- und Konfigurationstätigkeiten benötigt.

      Und zuletzt, ich habe selbst mit so einer "Aufgabe" meine Programmiertätigkeit begonnen- noch vor meiner Ausbildung-, ich weiß nicht mehr genau, ob es damals mein erstes Geld war, dass ich mit Programmieren verdient habe. Heute weiß ich, dass es eigentlich Unsinn war, besonders für den Käufer, mir hat es aber Freude gemacht.
      Gruß, defo

      Comment


      • #4
        Originally posted by Christian Marquardt View Post
        Wie soll das jemand sagen, ohne die Anforderungen zu kennen?
        Die Anforderungen stehen oben wird nicht mehr sein.

        Originally posted by Christian Marquardt View Post
        Wie soll man eine DB empfehlen, wenn man keine Infos wie Mengengerüst, Größe der zu erwartenden Daten usw. hat? Was ist "gut" genau für eine Anforderung?
        Wahrscheinlich würde es HSQL auch tun....
        Stimmt. Mein Fehler, ich habe nur PostgreSQL erwähnt, da wir dies in der Schule angeschaut haben.

        Originally posted by Christian Marquardt View Post
        Ein Webserver ist zu teuer, aber für den SMS-Versand nutzt du was? Ein eigenes Gateway? Einen öffentlichen Dienst über den dann die Geschäftsdaten laufen?
        Öffentlicher Dienst über eine REST API

        Originally posted by Christian Marquardt View Post
        Was wurde in der Ausbildung zum Applikationsentwickler gelehrt?
        Die Fragen erstaunen, wenn du diese Ausbildung hast.
        Erstelle die Anforderungen; prüfe was du für Ressourcen hast (was kannst du [du solltest doch auch Java können]); prüfe, wie du das umsetzen kannst.
        Ich Frage deshalb, weil ich nicht sicher bin. Ich dachte eine Desktop Applikation wir es tun, jedoch bin ich davon überzeugt, dass die Zukunft mehr Richtung Webapplikationen geht.
        Andererseits würde ich mich auch gerne in C# weiterentwickeln.
        Mein Problem bei der Webapplikation ist, dass der Server zu teuer ist.
        Wie gesagt ich habe ein Jahr Erfahrung in Java (Webapplikationen) und knapp drei Monate mit C# (Desktop Applikationen)

        Originally posted by Christian Marquardt View Post
        Im überigen gibt es solche Software zuhauf. Es ist nicht nötig das nochmals zu entwicklen und wenn du alles selbst machst, wirst du wohl > 6 Monate dran sitzen
        Natürlich weiss ich, dass es genug solcher Software zukaufen gibt (auch Open Soure). Jedoch spielt mir (auch dem Schneider) die Zeit der Entwicklung nicht so eine grosse Rolle.
        Zudem denk ich, dass es eine gute Übung für mich wäre.

        Comment


        • #5
          Die Anforderungen stehen oben wird nicht mehr sein.
          Du machst also keine Rückfragen? Was für Daten augenommen werden sollen? Wie genau das Eingabeformular aussehen soll (Str und HsNr getrennt usw.)? Nach was gesucht werden soll? Wieviele Daten zu erwarten sind? Wie der Workflow ist? Wenn du das alles weißt -> prima. Wir wissen es nicht.
          Öffentlicher Dienst über eine REST API
          Du sendest Geschäftsdaten an öffentliche Dienste? Prima, da bestellt man eine Hose und findet seine Daten dann irgendwo im Netz

          Du hast an ein Sicherheitskonzept gedacht für die Daten? Backup der DB?
          Ich dachte eine Desktop Applikation wir es tun, jedoch bin ich davon überzeugt, dass die Zukunft mehr Richtung Webapplikationen geht.
          Die Zukunft von was? Wenn nur dein Schneider darauf zugreift, warum dann eine Webapplikation? Wenn ja, warum sind 10-20 EUR für einen Tomcat zu teuer?

          Würde das als Desktopentwicklung realisieren mit Java, Derby DB oder MySQL, drucken über PDF
          Christian

          Comment


          • #6
            Originally posted by Christian Marquardt View Post
            Du machst also keine Rückfragen? Was für Daten augenommen werden sollen? Wie genau das Eingabeformular aussehen soll (Str und HsNr getrennt usw.)? Nach was gesucht werden soll? Wieviele Daten zu erwarten sind? Wie der Workflow ist? Wenn du das alles weißt -> prima. Wir wissen es nicht.
            Stimmt! Wieder mein Fehler, dachte ist nicht wichtig.

            Originally posted by Christian Marquardt View Post
            Du sendest Geschäftsdaten an öffentliche Dienste? Prima, da bestellt man eine Hose und findet seine Daten dann irgendwo im Netz.
            Ich habe mich unklar ausgedrückt. Ein Netzanbieter in der Schweiz (Wohne ich) bietet eine Möglichkeit über eine Rest API Nachricht und Nummer als JSON zu schicken und dieser versendet dann die SMS.

            Originally posted by Christian Marquardt View Post
            Du hast an ein Sicherheitskonzept gedacht für die Daten? Backup der DB?
            Backup DB Ja aber was meinst du mit Sicherheitskonzept?

            Originally posted by Christian Marquardt View Post
            Die Zukunft von was? Wenn nur dein Schneider darauf zugreift, warum dann eine Webapplikation? Wenn ja, warum sind 10-20 EUR für einen Tomcat zu teuer?
            Zukunft von solcher Software, dass der User von überall seine Arbeit erledigen kann.
            Der Tomcat ist nicht teuer. Mir geht es um den Webspace damit die Software auch ausserhalb erreichbar ist (Webapplikation)

            Originally posted by Christian Marquardt View Post
            Würde das als Desktopentwicklung realisieren mit Java, Derby DB oder MySQL, drucken über PDF
            Vielen Danke für deinen Rat.

            Comment


            • #7
              Tomcat ist kostenlos!

              https://www.inetsolutions.de/WebHost...ng/Tomcat-Java

              https://www.google.de/search?q=tomca...GuWLgAbWgYaADg


              Ich habe mich unklar ausgedrückt. Ein Netzanbieter in der Schweiz (Wohne ich) bietet eine Möglichkeit über eine Rest API Nachricht und Nummer als JSON zu schicken und dieser versendet dann die SMS.
              Nein du hast dich nicht unklar ausgedrückt. Du sendest fröhlich Daten der Kunden an Dritte.
              Christian

              Comment


              • #8
                Originally posted by Christian Marquardt View Post
                Tomcat ist kostenlos!
                Natürlich ist Tomcat als solchen kostenlos verfügbar. Jedoch sind die Hostingplätze nicht kostenlos!
                Ich denke dieser Beitrag macht keinen Sinn.
                Bitte schliessen!

                Comment


                • #9
                  Natürlich ist Tomcat als solchen kostenlos verfügbar. Jedoch sind die Hostingplätze nicht kostenlos!
                  6,99 EUR ist zu teuer?
                  Christian

                  Comment


                  • #10
                    Hallo,

                    der Server muss ja nicht bei einem Hoster sein - oder?
                    Wir haben hier einen Glassfish einfach auf einer Windows - Maschine laufen. Das kann man doch alles automatisch starten, dann könnte das sogar als "Einzelplatz- Webanwendung" laufen. Zumindest für den Anfang.

                    Ich persönlich habe keinen Zugang zu Java EE gefunden und lasse das lieber die Kollegen machen.
                    Aber wenn du schon die meisten Erfahrungen damit hast, dann nimm doch Java / Primefaces, und dann eben gleich mit Derby (ich würde MSSQL nehmen aber wie gesagt .. Java ist nicht meins). Soweit ich das überblicke, werden Java Entwickler gut nachgefragt, sind gar ein wenig die "Elite". Es ist also kein Fehler seine Skills in diese Richtung zu verbessern.


                    Fang klein an und diskutiere mit dem Schneider jeden funktionierenden Stand. Versuche nicht, von Beginn an an alles denken zu wollen, dann wird das nie fertig.
                    Denke aber beim Design und der Datenbankstruktur daran, dass du jede Klasse und jede Codestelle mit Wachsen der Anwendung voraussichtlich nochmal anfassen wirst.
                    Benenne alle Bezeichner von Beginn an sinnvoll und sprechend. Versuche, bestimmte Code - Metriken einzuhalten.

                    Insbesondere die Datenbanknormalformen sind "alternativlos" sonst kommst du später nicht mehr weiter.

                    Wenn du tatsächlich richtig Zeit dazu hast, dann ist das eine luxuriöse Ausgangssituation.

                    Wir haben auch irgendwann mal die 1527te Warenwirtschaft von Null an programmiert und sind heute sehr zufrieden damit. Wir sind unabhängig und können damit machen was wir wollen und wann wir wollen :-)

                    Viel Erfolg!
                    Tino
                    Zuletzt editiert von tinof; 08.11.2016, 20:19.
                    Ich habs gleich!
                    ... sagte der Programmierer.

                    Comment


                    • #11
                      Webanwendungen kann man auch mit C# programmieren, das schliesst sich nicht aus.
                      Ein "Server" muss nicht automatisch ein grosser Rechner im 24-Zoll Rack sein, dass kann auch der einzelne Laptop sein.

                      Gruss

                      Comment


                      • #12
                        Vielen Dank für Eure Antworten.
                        Ich habe mich dazu entschieden, eine Desktop Applikation mit Java und PostgreSQL zu machen.
                        Jedoch hätte ich noch eine weitere Frage, da ich mich mit Desktop Applikationen nicht auskenne.
                        Soll ich Java Swing anwenden oder JavaFX? Gibt es eine andere Option?

                        Comment


                        • #13
                          Soll ich Java Swing anwenden oder JavaFX? Gibt es eine andere Option?
                          Nein,
                          Swing = älter/alt -> viele Lösungen und Code vorhanden
                          JavaFX = neu -> beginnt sich erst zu etablieren

                          Schau dir OR-Mapper an
                          https://de.wikipedia.org/wiki/Hibernate_(Framework)

                          http://hibernate.org/
                          Christian

                          Comment


                          • #14
                            Originally posted by Christian Marquardt View Post
                            JavaFX = neu -> beginnt sich erst zu etablieren
                            Ob es nicht schon wieder am sterben ist? JavaFX ist (war) als gegenstück zu Flash und Silverlight geplant.
                            Da Browser-Plugins am Sterben sind ist die Frage ob JavaFX damit nicht auch stirbt.
                            Silverlight ist schon tot
                            Flash stirbt gerade
                            Und bei JavaFX bin ich mir nicht sicher ob es jemals am leben war.

                            Comment


                            • #15
                              JavaFX ist nicht nur BrowserplugIn.
                              Man kann damit Desktopanwendungen entwickeln und Anwendungen die sowohl im Browser als auch auf dem Desktop laufen sollen.
                              Meines Wissens war es anfangs etwas tot und ist jetzt auf einem "aufsteigendem Ast"...was man so liest
                              Christian

                              Comment

                              Working...
                              X