Webanwendung entwickeln

Dieses Thema im Forum "Webentwicklung" wurde erstellt von gater001, 24. Februar 2012 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. Februar 2012
    Hallo RRler,

    lese mich gerade in obiges Thema ein. Das ist mir im aktuellen Stand aber ein bisschen zu undurchsichtig. Ich meine es gibt ja etliche Möglichkeiten bei der Wahl der Scriptsprachen, hin zur Kombination von den Datenbanken usw..

    Habe hier ein paar Fragen:
    1. Welche Sprache wird so im professionellem Bereich genutzt?
    Allgemein gefunden habe ich hierbei: PHP, Perl, Python, Ruby
    natürlich ist mir nicht entgangen das PHP sehr beliebt ist
    aber was spielen Performance da für eine Rolle? Laut diesem Link hier: KLICK
    hat Perl so im Durchschnitt die beste Laufzeit, wird auf so etwas eigentlich noch geachtet?

    2. Welche Sprache erlaubt es mir Bytecode auf z.B. einem Apacheserver auszuführen?
    Hierbei dachte ich mir gut wenn ich tolles entwickle dann sollte es möglichst geschützt sein und nicht von jemand anderem übernommen werden können. Ich weiß das z.B. PHP auf dem Server ausgeführt wird und der Anwender nichts zu sehen bekommt. Aber gegebenen Falles der Entwickler möchte die Anwendung an eine dritte Person verkaufen, ist es dann möglich den Code in Bytecode umzuwandeln? Also bei Perl, Ruby und Python habe ich davon gelesen aber lassen die sich dann noch vom Apache ausführen?
    Wenn ich z.B. auf die Seite von meebo gehe und den messenger starte und mir den Quelltext anschaue dann sehe ich ja schon nicht wenig Code!

    mfg,
    gater001
     
  2. 24. Februar 2012
    AW: Webanwendung entwickeln

    PHP ist an sich eigentlich bereits schnell genug. Ich würde behaupten dass du eine höhere Performance durch die richtige Konfiguration und Leistungsfähigkeit des Server erreichst als bspw. ein wechsel auf eine der anderen Sprachen. Jedoch muss ich dazusagen: Ich selber hatte bisher Webanwendungen ausschließlich in PHP geschrieben.
    Dennoch: Sofern du ein ordentliches Design benutzt (also auf Codebasis) solltest du keinerlei Probleme haben was die Performance/Laufzeit angeht.
    Gerne wird an dieser Stelle auch immer wieder Wikipedia genannt, dessen Software (das Mediawiki) in PHP geschrieben ist. Aber hier steht natürlich auch entsprechende Infrastruktur und Know How zur Verfügung.


    Ja, wird allerdings soweit ich weiß nur äußerst selten so gemacht. Am populärsten ist wohl EAccelerator . Damit hast du nicht nur das gewünschte Ziel dass der Server die Bytecodedateien verwendet und für einen Benutzer der Quellcode dahinter nicht sichtbar ist (und soweit ich weiß auch nicht rekonstruierbar, wie beispielsweise bei JAVA oder .NET), sondern auch nochmal einen zusätzlichen Performance Gewinn.

    Dabei wird es sich aber lediglich um das user interface handeln und um JavaScript Funktionen.
     
  3. 24. Februar 2012
    AW: Webanwendung entwickeln

    Wow, hab mir den Wikiartikel zu EAccelerator durchgelesen und frag mich wieso das bei 1-10 facher Beschleunigung "kaum" genutzt wird

    Das mit meebo, da hast du recht, sind wirklich nur reine Oberflächenfunktionen etc.

    Was für mich noch unschlüssig ist, meine Frage ursprünglich zum Bytecode war wegen der Möglichkeit der Weitergabe und Quellcodeeinsicht. Wenn jetzt EAccelerator den interpretierten Code im shared memory lagert, dann brauch er dafür doch auch den Code oder nicht?
    Kann man generierten Bytecode ausführen ohne den Quellcode zu besitzen? Das wäre nämlich noch interessant im Falle einer Quellcodeweitergabe.


    Schonmal vielen Dank!!
    mfg,
    gater001
     
  4. 24. Februar 2012
    AW: Webanwendung entwickeln

    doch er braucht den code, da bei jeder anfrage geprüft wird ob sich die datei geändert hat.

    du suchst keinen bytecode-cache, sondern einen compiler für php.
    dafür gibt es verschiedene systeme, die sich aber zuzückwandeln lassen.

    wenn du deinen code wirklich schützen willst müsst du ihn verschlüsseln.
    z.b: Home - PHP Encoder, protection, installer and performance tools from ionCube

    aber vorsicht, sowas stößt sehr oft auf ablehnung.
     
  5. 24. Februar 2012
    AW: Webanwendung entwickeln

    Ioncube kann man mitlerweile leider auch in die Tonne kloppen, weil es entschlüsselt werden kann.
     
  6. 24. Februar 2012
    AW: Webanwendung entwickeln

    Deine Ausgangsfragenstellung ist schon falsch. Die Frage sollte nicht lauten welche Programmiersprache (Hammer / Schraubenzieher) du verwenden sollst. Sondern welche Anforderungen an die Anwendung bestehen. Also was (Schraube / Nagel) wo (Wand) angebracht werden soll. Man sucht sich doch nicht das Werkzeug zu erst raus obwohl es mit etwas anderen viel besser funktioniert!

    Daher ist die allgemeine Vergleichsweise von Programmiersprachen absoluter Blödsinn.

    Ein Profi nimmt das Werkzeug das am meisten Sinn macht.


    Für deine Anforderung das der Quellcode nur kompiliert weitergeben werden darf schliest schonmal eine Menge Interpretersprachen aus. Ausser für die es Erweiterungen, wie beispielsweise PHP, gibt die eine kompilierung zulassen.
     
  7. 25. Februar 2012
    AW: Webanwendung entwickeln

    Gibt es nicht auch Lizenzen die selbst ein Ändern des Codes verbieten?

    @Nosferatu:
    ok, aber was bleibt denn noch groß übrig wenn "die Menge" Interpreter Sprachen ausfällt?
     
  8. 25. Februar 2012
    AW: Webanwendung entwickeln

    Jede Sprache die einen Compiler voraussetzt, würde ich jetzt meinen. *g*
    Die da, u. A., wären: C/C++, Java (Ja, auch da gibts sowas). Sieht dann halt ziehmlich rar aus.

    Möglich wären für deine Idee trotzdem noch ASP .NET (in Verbindung mit C# oder VB) o. Ä.
     
  9. 25. Februar 2012
    AW: Webanwendung entwickeln

    naja, java und .net lassen sich ja ohne weiteres dekompilieren, von daher das selbe spiel wie mit php ^^

    und ich weiß nicht ob sich ein crypter für java bei ner webanwendung wirklich rechnet. immerhin wird das ganze bei jeder anfrage decryptet, was bei ner desktopanwenung ja nur beim start der fall ist.

    @gater001: wenn dus drauf anlegst, kannst du deine webseite auch mit C und ASM programmieren. da kannst du dann richtig in die vollen gehen und deinen "source" so übel crypten, dass sich kein programmierer die arbeit machen wird das ganze auseinander zu fummeln.

    allein die gruppe die im stande dazu wäre ist im vergleich zu php/java o.ä recht klein und die kosten für sowas entsprechend hoch - und du hast den überraschungseffekt auf deiner seite, denn niemand rechnet mit sowas

    der nachteil ist nur, dass dein server so schnell gerooted sein wird, dass du mit dem schauen gar nicht hinterher kommst. denn wenn du deine webseite erstmal mit unmanaged code betreibst und nicht die große leuchte bist ist so ein buffer ganz schnell mal übergelaufen

    und da du sicherlich auf nem linux/unix server hosten willst bekommst du von der community auch nur verachtung entgegen.
     
  10. 25. Februar 2012
    AW: Webanwendung entwickeln

    2. Frage ignorier ich mal.

    Zu 1.
    Wie schon angemerkt, solltest du dir erst mal im Klaren Sein: Was willst du machen? Was soll es leisten? Was muss es können? Was brauchst du?
    Dann schaust, welche Sprache sich dafür eignet.
    Nicht für alles ist PHP gut.
    Java/JSP und ASP.NET/C# sind weit verbreitete Sprachen für Webanwendungen, gerade im Wirtschaftlichen Bereich für leistungsfähige Systeme (Z.b. Cloud-ERP-Systeme).


    Dann kannst du schauen: Was beherrscht du, was bist du bereit zu lernen? Was bist du bereit zu investieren.

    Abgesehen davon ist ein Performancetest von 2008 nach 4 Jahren sicher nicht mehr aussagekräftig genug.
     
  11. 25. Februar 2012
    AW: Webanwendung entwickeln

    Mag sein, allerdings ist der Abstrahierungsgrad da um einiges höher, was das theoretische zusammenfriemeln um einiges schwieriger gestalten sollte.

    Es ist ja nicht von einem Crypter für Java die Rede. Ich rede von dem Java-Compiler der von Haus aus mitgeliefert wird.

    Naja. Das sehe ich nicht als Nachteil. Hier geht es eher um Probleme durch den Software-Architekten. Diesen Begriff habe ich bewusst gewählt, da nicht nur Sicherheitslücken durch die Sprache verantwortlich für solche "Nachteile" sind, sondern auch vergessene Eventualitäten oder ähnliches. Ebenfalls ist es möglich den Server entsprechend abzusichern, damit sowas nicht unbedingt die "Schlinge" zuzieht.

    Ich möchte an dieser Stelle auch noch mal erwähnen, dass solche Sprachen einen ganz extremen Vorteil haben, vorausgesetzt es sitzten Leute mit Grips am Projekt: Performance. Nicht umsonst sind große Web-Anwendungen mit C/C++ entwickelt worden (u.a. ebay, durch den Umweg über PHP auch Facebook (Siehe HipHop)).

    Möchtest Du, dass ein Teil der OS-Community dein Geld zur Lebenserhaltung wegnimmt, weil es ihr nicht gefällt? Nein, ganz so dramatisch kommt es nicht, allerdings ist die Community eher uninteressant, sollte es sich um den Beruf handeln, den man hier ausübt.
     
  12. 26. Februar 2012
    AW: Webanwendung entwickeln

    naja ich weiß ja nicht. java-opcode ist dokumentiert und es gibt decompiler an jeder ecke.

    bei php hingegen tut man sich schon schwerer, weils eben nicht die regel ist, dass man kompilierten php-bytecode zur hand hat.

    ne doku gib es aber auch irgendwo ^^

    ich ging eher davon aus, WENN er sich darüber schlau machen will, dass er in der os-community wenig anlaufstellen finden wird.

    der rest meines beitrags war eher scherzhaft gemeint

    btw:
    - facebook nutzt überwiegend managed-code (hhvm),
    - ebay nutzt seit 2002 java ,
    - github nutzt ruby (ror) und erlang
    - google/youtube nutzen python (zumindest im vordergrund)

    die einzige seite die mir spontan einfällt ist fefes blog, aber der macht das auch nur weil ers kann ^^

    ich denke aber, dass das mehr damit zusammenhängt, dass man "einfacher" python/ruby/php/java programmierer in diesem bereich findet, als c++ programmierer.
     
  13. 26. Februar 2012
    AW: Webanwendung entwickeln

    nur mal den etwaigen wissensfundus hier zu vergrößern ein vergleich zwischen php (im zweiten link auch c und python) und node.js.

    node circa 50x schneller:
    Benchmarking node.js vs PHP performance | Matt KnightMatt Knight

    node circa 170x schneller:
    Node.js im Geschwindigkeitsvergleich gegen C, Python, PHP

    ich empfehle hier im übrigen explizit nicht node.js für einen beginner ...
     
  14. 26. Februar 2012
    AW: Webanwendung entwickeln

    der fakt, dass node.js (v8) besser mit zahlen umgehen kann ist absolut nicht verwunderlich, und dass node.js auf c-niveau agiert ebenso wenig.

    immerhin handelt es sich bei node.js um nativen code erstellt durch den v8 jit-compiler.

    dennoch ein sehr krasser unterschied!

    ----

    ich hab den benchmark im zweiten link eben nochmal wiederholt:

    Sys: win7 prof x64 / 4gb ram / amd phenom x4 @ 4x3.2ghz

    C (GCC): 0.26s
    C (GCC -O1): 0.13
    C (GCC -O2): 0.10
    C (GCC -O3): 0.09
    NodeJS (0.6): 0.6s
    PHP (5.3.8): 12.2s
    PHP (5.4RC7): 9.4

    bei den C -O versionen hab natürlich noch nen zugriff auf die variable x außerhalb der schleife, damit diese nicht wegoptimiert wird ^^
     
  15. 26. Februar 2012
    AW: Webanwendung entwickeln

    nahdem du gerade zeit zu haben scheinst (nicht negativ gemeint) fänd ichs interessant wenn du mal das php durch hiphop jagst und nochmal testest.

    ich hab vorhin eigentlich einen etwas besseren vergleich gesucht, aber wegen mangelnder zeit keinen gefunden. meistens hat man bei einem webrequest ja zugriffe auf storages/datenbanken und da halte ich node.js für imens performant - auf der basis würde mich mal wirklich ein benchmark interessieren.
     
  16. 26. Februar 2012
    AW: Webanwendung entwickeln

    dazu müsste ich das ganze in ner debian-vm kompilieren, was die ergebnisse wohl verfälscht.

    vielleicht findet sich ja jemand anderes mit ner linux-kiste.
    statt hiphop ginge auch phc: phc -- the open source PHP compiler
     
  17. 26. Februar 2012
    AW: Webanwendung entwickeln

    Ja Danke für den Hinweis.
    Ich finde diese Tests nur immer so realitätsfern. PHP ist natürlich bei solchen Benchmarks sehr langsam. Aber die Frage ist doch immer wie es sich in einer echten Applikation verhält. Natürlich ist PHP da jetzt nicht ganz weit vorne mit dabei - Aber bei einem ordentlichen Applikationsdesign & Serverkonfiguration merkt der Benutzer auch keine Wartezeiten. Und der Entwickler hat mit PHP eine einfache Sprache in der Hand mit allen möglichen Modulen z.B. für Datenbanken, komplexe mathematische Berechnungen, Bildmanipulation, und und und...

    Im Endeffekt muss der Entwickler natürlich selbst abwägen ob ein höherer Aufwand es Wert ist ein paar millisekunden Auslieferungszeit einzusparen. Das dürfte in den wenigsten Anwendungen der Fall sein.
     
  18. 26. Februar 2012
    AW: Webanwendung entwickeln

    gut, erstmal danke für all die Antworten! Hätte nicht gedacht das das so viel Aufmerksamkeit findet.
    @terraNova:
    Eine Frage zu der Theorie mit dem Webanwendungen C++, wie würdest du da vorgehen? eine große auswahl an web frameworks habe ich nicht oder? Also gibt es da irgendwelche webframeworks mit denen du arbeiten würdest oder bevorzugst du schnittstellen zu irgendwo anders hin?

    mfg,
    gater001
     
  19. 26. Februar 2012
    AW: Webanwendung entwickeln

    ALso ich gebe auch mal meine Meinung zu dem Thema preis. (wuhuu)

    Mein Vorschlag wäre, dass du dir Libs in C/C++ schreibst und diese dann z.B. mit Python nutzt, da Python ziemlich gut mit C Bibliotheken umgehen kann.
    So könntest du dir schnell Python Code zusammen basteln und diesen dann nach und nach in C überführen. Das gleiche geht denke ich auch mit allen anderen Scriptsprachen.
    So haben letztendlich alle großen Websites angefangen. Sei es Google, Facebook oder andere. Es ist einfach produktiver.
    Hat man nämlich so viele User, dass diese User gut programmierte Scripts und zig gut balanced Server auslasten, hat man auch genug Geld um das neu umzusetzen.

    Wegen dem Schützen von Code
    Meine Erfahrung ist folgende: Schützt man seinen Code, muss es ein definitiv guter Grund sein, denn es gibt 2 Methoden mit denen man besser fährt:

    1. Leasing
    Du hast den Code nur auf deinen Servern, der Kunde verlässt sich auf dich und bekommt die Anwendung voll supported. Hier liegt mehr Verantwortung bei dir, aber du gehst sicher, dass der Kunde keinen Code klaut.

    2. Lizenzen
    Mach dir ordentliche Lizenzen. Seriöse Unternehmen werden sich an diese halten! Da macht man sich oft zu viele Gedanken. Ich nenne hier als Beispiel das Silverstripe CMS. Die Firma entwickelte das CMS für die eigenen Kunden und verkaufte den Code und den Support mit passender eingeschränkter Lizenz. Der Erfolg war mäßig. Nach ein paar Jahren machte die Firma den Quelltext offen mit OpenSource Lizenz. Der Effekt war großartig! Die Firma macht natürlich als größter Anbieter Support für das CMS und Hosted es. Große Firmen sehen den Erfolg und beauftragen natürlich lieber die Erfinder eines beliebten CMS als außenstehende Dritte. Und zusätzlich hat die Firma noch kostenlose Community-Programmierer, die mit ihnen zusammen das CMS weiter verbessern. Eine Win-Win-Situation für alle Beteiligten.

    Überleg dir einfach: Wenn du einen eShop gründest und ein großes erfolgreiches Unternehmen werden willst... so groß wie Amazon... würdest du dann eine geklaute Software benutzen? Würdest du dir eine Lizenz faken, Code entschlüsseln oder irgendwas Cracken/Hacken/klauen? Wenn du diese Fragen mit JA beantwortest, wird das sowieso nichts.
    ODER
    Würdest du dir wenn du schon Amazon bist und Interesse an deinem Programm hast einen verschlüsselten Code auf deinen Server hauen? Hättest du keine bedenken bzgl. der Sicherheit oder Angst vor Backdoors?

    Also gerade im Bereich Webentwicklung würde ich vor dem verschlüsseln von Code abraten. Es macht wirklich nur in extrem seltenen Ausnahmen Sinn. So ist meine Meinung
     
  20. 26. Februar 2012
    AW: Webanwendung entwickeln

    @badloader:
    danke das du deine Meinung preis gegeben hast :]
    Dein Beitrag hat mir wirklich sehr geholfen! Also die der anderen natürlich auch, danke an alle also!
    Ich close dann mal, danke nochmal!


    mfg,
    gater001
     
  21. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.