Web Programming Tutorial

I am a programmer with some experience working in different languages ​​and platforms, but I lack experience in web development (except for one very simple HTML created by PHP).

I am looking for a tutorial on the basics of web programming for Linux . I'm less interested in Apache configuration and server maintenance, which I know pretty well, but with the actual construction of the website using modern technology. I am familiar with python, but I will handle any scripting language well.

Do you have any recommendations? Can you talk about W3Schools tutorials ?

A bouquet of thanks

Udi

+4
source share
6 answers

This is a pretty broad question that you ask. You should know that there are many potential answers, those that are already given here are worthy. And you should know that this is a very important decision for the platform, regardless of the chosen textbook. And this is because the development of web (application) is a complex thing that can be solved at different levels (especially outside the MS world).

  • I do not have close knowledge of the W3Schools that you mention, but at first glance it seems that they will teach you many of the main frontend technologies: HTML, XHTML, Javascript, CSS and how. This is not bad and will give you a solid foundation in these things. But web development is usually not performed at this level, as it is too tedious and inflexible for large applications. And you would not have enough backend / database technology at all.

  • Then there are platforms (and I think this is the majority) that have templating . You implement the page and business logic in a combination of HTML and programming code in some language (Python, Perl, PHP, ...) in an HTML file, which is then processed by the engine to create the final HTML for the user interface and transaction code for the database . Django and TurboGears are prominent Python representatives of this, Ruby on Rails is probably the biggest name right now. But there are many others (what about Scala / Lift ?), So take the time to see which one you like best. Usually they do a great job with database processing. On the user interface side, you still have page changes.

  • In this vein, there are platforms that are trying to move from HTML with embedded code to a clean software approach. You just write the code and use the specific APIs of this platform. Compiling your project in one way or another will generate all the necessary materials that you must deploy to the runtime. I think Google GWT and Eclipse RAP are such approaches, and if you think, dream and breathe in Java, this is probably for you.

  • Another approach is interesting when the page changes in the browser (the most destructive part of the web experience) are no longer good enough when you need user interfaces on the desktop. To attack this, you need to create " thick web clients " with a lot of interaction logic built into Javascript, and interact with the server only for significant data transfer using Ajax, REST or RPC protocols. Candidates for client technology are, for example, qooxdoo or Dojo . On the server side, you can use any technique that is convenient for you (from RoR to Servlets and beyond). If I had a choice, I would choose qooxdoo for frontend and Erlang / CouchDb on the server.

You specifically asked about textbooks, and I did not mention much. What I tried to do was what you chose, most likely you will spend a lot of time and effort on this technology, since they are all pretty deep and will stick to this for some time. During your assessment, you will also check the training materials for this platform (do not forget the online video - they are large these days), but this will inevitably be specific. AFAICS, there is no such thing as a "general introduction" to web programming.

+5
source

Thanks to your knowledge of Python, you can find helpful tips like Django . It is modern enough for use in the Google App Engine .

Also try the TurboGears tutorial , another Python web infrastructure. This will give you a different approach to (modern) web programming.

Find an introduction and many pointers to other frameworks on Wikipedia .

+5
source

Ruby on Rails is really interesting for rapid development. It is clean, it is neat, and it allows you to focus on important things, such as the database and interface.

There are many lessons from RoR. There are nearly two hundred Railscast instructional videos on a variety of subjects. They are also very deepened.

Your current application also has many places to search for help. APIDock is well suited for finding methods and how different parts of Rails work. You might also consider switching to IRC IRC and entering the Ruby room: #ruby.

Hope this is helpful!

0
source

ok ... the most important thing is to completely abstract your output mechanism (this may seem trivial to you, but, in truth, too many people disobey this rule and too few tutorials emphasize this point), so in a compressed API you have the rendering mechanism (rely on HTML, XML, JSON or something similar), most likely using templates ... this is one of the fundamental aspects of request -based web applications , this is the real difference with desktop applications for me) and are covered by any best infrastructure ... using Using MVC architecture is the next step ... There are tons of MVC frameworks for almost any server language that do a lot of work for you ... and MVC is ideal for query-based applications ... the separation between business logic and performance the output works roughly with PERFECT ... the key point for a scalable web application is to implement your business logic, which usually includes databases ... this is also what you will have to work with a lot of ... creating good templates HTML is damn and work, but I would argue that it is relatively easy, as soon as you actually get it ... no need to come up with super-creative solutions and new approaches here ... plus, for me, style and skinning are interchangeable ... it’s much more difficult to create a good user interface that maximally reveals your functionality than to implement it or even invent it ..

if I were you, I wouldn’t be too much into CSS if you really don’t want DESIGN pages (to find someone else to do this, maybe even HTML templates). seriously, you will learn to hate it VERY fast, especially if you are trying to get it to work in IE7 or lower). rather, try creating awesome semantically well-structured HTML (good for SEO and accessibility) (see progressive improvement ) and learn JavaScript. look at some nice frameworks ... jQuery, Ext ... whatever ... don't reinvent the wheel here ...

haxe may also be of interest to you ... many useful libraries on haxelib ...

well, hope that helps ...;)

Greetz

back2dos

0
source

There are several sources for learning HTML, javascript, and CSS that you are asking for. w3schools is a small company from Norway with a not always very good article, but it can be used as a quick reference.

I would recommend the following two

There is also HTTP, which most people do not really grok. A good way to understand HTTP goes through REST as an architecture style. Joe Gregorio has created a wonderful series of articles for the gradual introduction of a web service.

Hope this helps.

0
source

If you think testing is important, you might be interested in following the TDD (test-driven-development) approach, so learning how to test Python web applications is just as important as learning code for Python web applications ...

I wrote a tutorial starting from scratch with the goal of teaching Python and TDD web development at the same time. It covers browser-based testing with Selenium, as well as unit testing.

http://www.tdd-django-tutorial.com/

Comments and suggestions are welcome!

0
source

All Articles