Der beste Weg zum Lernen Web Application Design


10

Ich bin ein langjähriger Hobby-Programmierer interessiert an der Entwicklung von Web-Anwendungen. Ich habe eine Menge persönlicher Erfahrungen mit verschiedenen Nicht-Web-Sprachen, habe mich aber nie wirklich auf Web-Anwendungen spezialisiert.

Ich habe normalerweise keine Probleme beim Erlernen neuer Sprachen oder Technologien, also mache ich mir keine Sorgen darüber, welche Sprache oder welcher Webstapel am besten zu verwenden ist. Stattdessen möchte ich wissen, welche Ressourcen (Bücher, Artikel, Websites, vielleicht sogar Hochschulkurse) empfohlen werden, um das Design von Webanwendungen zu diskutieren: Verwaltung und Optimierung von Serverinteraktionen, Sicherheitsbedenken, Skalierbarkeit und anderen Themen, die eher unter Design fallen als die Umsetzung.

Was würden Sie für einen eigenständigen Anwendungsentwickler empfehlen, der sich in die Webentwicklung verzweigen möchte?

10

Es gibt eine Vielzahl von Webanwendungssprachen, in die Sie einsteigen können. Die, mit denen ich am meisten Erfahrung habe (und deshalb hier darüber sprechen werde), sind PHP, eRuby und Ruby on Rails. Alle diese haben gute Tutorials im Internet verfügbar - ich werde auf einige von ihnen unten verlinken.

Welche zu wählen hängt davon ab, was genau Sie suchen. Mit PHP und eRuby müssen Sie die meisten Dinge selbst tun - während Ruby on Rails viele Dinge für Sie erledigen wird (nützlich, aber auch gefährlich, wenn Sie nicht wissen, was Sie tun). Ruby on Rails ist gut für Datenbank-bezogene Dinge - zum Beispiel die Standard CRUD (Erstellen, Lesen, Aktualisieren, Löschen) -Anwendung. Die Standard-Art von App Ruby on Rails (oft abgekürzt als RoR) Tutorials lehren Sie ist eine Blog-Anwendung (Erstellen von Einträgen, Lesen von Einträgen, Aktualisieren von Einträgen, Löschen von Einträgen) oder eine Adressbuch-Anwendung.Es ist möglich, viele dieser Anwendungen fast in einer Codezeile zu verwenden - mit RoRs "Scaffold" -Funktion.

PHP und eRuby machen Sie mehr von der Arbeit selbst - aber das kann in einigen Situationen besser sein. PHP ist bekannter und wird häufiger verwendet als eRuby, aber ich mag die Ruby-Sprache, daher mag ich gerne eRuby. Diese eignen sich sowohl für einfache Anwendungen (wie Kontaktformulare auf Webseiten) als auch für komplexere Anwendungen (phpBB - ein Stück Forum-Software ist in PHP geschrieben).

Für welche man wählen - ich würde mit ihnen spielen und sehen, was Sie denken. Versuchen Sie, mit jedem die ersten paar Teile eines Tutorials durchzugehen und sehen Sie, ob es Ihnen gefällt oder nicht.

Hier kommen die Links zu verschiedenen Tutorials:

PHP

eRuby

Ruby on Rails

Es gibt ein paar Tutorials, um loszulegen. Einige davon führen Sie durch die Installation der notwendigen Software (Webserver und alles andere - zB php oder ruby) und andere nicht. Eine gute Möglichkeit, Apache (Webserver), MySQL (db) und PHP unter Windows zu installieren, ist XAMPP. Wenn Sie unter Linux sind, dann sind Apache, MySQL und PHP in Ihren Paket-Repositories und es kann Distro-spezifische Anleitungen geben, um diese einzurichten.


2

Viele Sprachen haben Webgegenstücke. JSP für Java, Rails für Ruby, Django für Python, usw. Das könnte ein Vorsprung sein.

Wenn Sie für die Plattform mit wohl der größten Benutzerbasis (und damit den größten Haufen von Tutorials und Beispielen) gehen wollen, gehen Sie für PHP.

Ich rate dringend zum Blick in verschiedene Frameworks obwohl. Für jede Web-orientierte Sprache gibt es eine Menge an Ressourcen, die Ihnen das Schreiben von Low-Level-Plumbing-Code ersparen, damit Sie sich auf die wichtigen Dinge konzentrieren können. Persönlich verwende ich fast ausschließlich .NET, aber ich habe von einigen netten PHP-Frameworks gehört, wie der Zend-Plattform und CakePHP (für die MVC-Entwicklung).

Wenn Sie beabsichtigen, auch JavaScript in Ihren Anwendungen zu verwenden, um Ihren Anwendungen ein schönes Web 2.0-Feeling zu verleihen, verwenden Sie bitte eine Bibliothek, die die unordentlichen Browserdetails versteckt. Sie werden verrückt, wenn Sie versuchen, alle Cross-Browser-Skripts selbst zu tun. Einige gute sind Prototype und jQuery.


1

Eloquent JavaScript und AppJet bieten große Tutorials, die Sie folgen können, während Sie lernen.

Sobald Sie alle Grundlagen abdecken, sollte Ajaxian viele der Fragen beantworten, die Sie über Anwendungsdesign usw. haben. Sie veröffentlichen nicht nur viele ausgezeichnete Artikel zu diesen Themen, aber Sie sollten viele der Seiten erkunden, die sie verknüpfen, Da diese Websites in der Regel auch eine Fülle von Informationen bieten.

Wenn es um Serverinteraktionen geht, kennen Sie Ihre Optionen. Ajax ist nicht alles was es gibt. Research-Technologien wie Comet und JSON-RPC sowie verschiedene serverseitige Frameworks, die einen einfachen Zugriff auf JavaScript wie DWR, Jayrock oder jedes Tool, das Ihre Funktionen auf JavaScript in der von Ihnen gewählten Sprache auf dem Server verfügbar macht.