Sagen wir so, noch vor ein paar Jahren war es logisch. Wenn jemand eine Anwendung oder ein Spiel programmiert hat, so hat er zu einer Programmiersprache gegriffen.
Heute sind viele Anwendungen ins Web gewandert. Textverarbeitungen macht man online, Spiele spielt man online, etc.
Ich möchte eine kleine Adressverwaltung programmieren, einfach mehr just for fun. Ich glaube mit Visual Basic ist es einfacher und schneller oder mit Access als mit einer Webanwendung, da man bei einer Webanwendung ja auch beachten muß, das man Datenspeicher zur Verfügung stellt, wo jemand seine Daten speichern kann.
Letzteres brauchst du bei einen lokalen anwendung auch. Heutzutage eine "kleine" webanwendung zu bootstrappen ist dank einiger frameworks ein kinderspiel. Wenn man weiss was man tut, kommt ganz am ende vielleicht wirklich ne anwendung raus.
Ich sehe es wie folgt.
Vorteil einer "normalen" Windows Anwendung: Ich muß mir keine Gedanken um Sicherheitslücken machen, muß keinen Webserver zur Verfügung stellen, muß keine Angst haben wegen Performanceprobleme vom Provider
vorteil einer Webanwendung: Ich könnte Werbebanner draufstellen, Änderungen sind schnell durchgeführt.
Werbebanner kannst du auch bei localen anwendungen haben. Und änderungen sind im schlimmsten fall DIE HÖLLE. Wenn du an einer bestehenden web anwendung etwas änderst was tiefgreifender ist, zB. die struktur der datenbank, kann das schnell sehr eklig und nervig werden.
Ich kann mich glücklicherweise gar nicht mehr daran erinnern wie gruselig sowas mit PHP vor 10 jahren war...
Ich persönlich glaube nicht das die Zukunft in reinen Webanwendungen liegt. Ich glaube immer noch, das man ein Spiel das als .exe Datei vorliegt performenter gestalten kann als jede Webanwendung. Und mir selber macht es etwas Angst. Eine Webanwendung ist irgendwo gespeichert, mithin auch meine Daten. Und in ein paar Jahren ist die Webanwendung verschwunden. Meine .exe Dateien kann ich auch noch in 15 Jahren aufrufen.
Heb dir mal sone exe anwendung auf, und versuch das mal in 15 jahren. Ich würde wetten du kannst nicht. Siehe alte windows95 anwendungen, die teilweise nicht mehr auf win7/8 laufen.
Das ist eine grosse konstante bei jeder art der programmierung. Du musst die richtigen tools (programmiersprachen) für den richtigen job benutzen.
Jede webanwendung die ich schreibe läuft natürlich erst local bevor sie auf einem oder mehreren server landet. Das heisst es ist genau so eine locale anwendung wie auch eine webanwendung. Die wird in 15 jahren nicht weg sein. Auch nicht in 30.
Ich glaube einige haben immernoch nicht realisiert wie gross der unterschied zwischen einer webanwendung und einer webseite sein kann. Eine webseite stellt mehr oder weniger viel statischen inhalt zur verfügung, natürlich auch durch ein dynamisches backend oder einer datenbank - obwohl ich bei kleineren geschichten, gerne komplett auf datenbanken verzichte.
Bei einer webanwendung stellst du ein programm nach, was am ende genauso auf deinem rechner laufen könnte. Doch es gibt einige vorteile bei webanwendungen, die vor allem für firmen interessant sind:
* platform übergreifend (in den meisten fällen). Ich muss nicht für windows oder linux programmieren. (anyways, wer hostet seine anwendungen schon auf nem windows...) - und dabei spreche ich nicht nur von der anwendung (die server software) an sich. Ich kenne mittlerweile einen elektro herd der mit android läuft. Von diesem *könntest* du dann über HTTP auf das frontend zugreifen und es *BENUTZEN*. Deine anwendung läuft auf einer sehr begrenzten umgebung. Einen browser gibts überall! [1]
* skalierbarkeit. Ob du nun 1 anwender hast, 100, 10000 oder 1000000. Du hast nur ein backend was es zu verwalten gibt (auch wenn das aus verschiedenen instanzen/servern bestehen kann). Das macht die wartung am ende auch leichter..
* zentrale ODER dezentrale verwaltung von daten (ganz essentiell). Du hast backups so weit verteilt wie du willst, so aktuell wie du willst. Alternativ sorgst du dafür das einzelne anwendungen daten miteinander abgleichen und sich selber up to daten halten können.
* mehr sicherheit. Natürlich nur wenn mans richtig macht (das ist eine kunst, tbh). Wenn du daten nur auf verschlüsselten kanälen überträgst (geht auch durch anwendungsunabhängige aufsätze, wie VPN), daten nur verschlüsselst auf den servern ablegst musst du nur dafür sorgen das die backend rechner "halbwegs" gesichert sind. Ein gestohlenes firmennotebook, oder ein zugeschnittener virus für dein programm könnte dafür sorgen das du einen daten-supergau hast. Gefeit bist du natürlich trotzdem nicht dafor
Wie gesagt ich habe relativ gute Visual Basic Kenntnisse und das ganze ist eher just for fun. Natürlich würde es meinem ego gut tun, wenn meine Anwendung mal von 10 oder mehr Leuten genutzt wird.
Wenn du möchtest, suche ich dir mal ein bisschen literatur zu entwicklung von kleineren webanwendungen mit ruby und sinatra raus. Wenn du schon gute kentnisse hast ist das für dich ein wochenende spielerei und spass. Nur als vorschlag.
Abschliessend; ich sehe kein problem damit sich eine anwendung in "seiner" programmiersprache zu schreiben um sie danach zu benutzen. Ich habe sehr viel zeit "verschwendet" in der ich sowas gemacht habe. Einige diese programme benutze ich 8 jahre später noch. Das war der grund warum ich gelernt habe zu programmieren - mir macht es halt spass dinge zu bauen. Aber eine sache die mir sehr geholfen hat war ab und zu mal den sprung ins kalte wasser zu tun und etwas *neues* zu lernen. Und da gibts gerade unglaublich viel interessantes im web-bereich. Das hält auch die birne fit! ;)
[1] Einen browser gibts überall:
Deswegen sind webanwendung die zukunft! Schau dir mal die steigenden userzahlen im netz an mit usern, die mit mobilen endgeräten untwegs sind.
Mfg entropie
Whenever people agree with me I always feel I must be wrong.
-- Oscar Wilde