Front-end web development, also known as client-side development is the practice of producing HTML, CSS and JavaScript for a website or Web Application so that a user can see and interact with them directly. The challenge associated with front end development is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing.
We often think of back-end languages as code that's processed by something built in to the web server itself or a plugin to the server, but it's possible for a script written in one of those back-end languages to launch external processes (native applications) on the server, so really, you could use just about anything as a back-end language, from compiled C/C++ to a bash shell script. (Whether it makes sense to do that is another thing.)
As for front-end languages, I think of a front end as anything that the user interacts with directly. That could be an app running in a web browser, a "thick client" desktop application, or a native application on a mobile device. So again, really, there's a huge array there.
If you want lists, for back-end languages (in order of my ability to recall):
- Java (and other JVM languages like Scala, Groovy, Clojure)
- PHP
- .NET (C#, VB)
- Ruby
- Python
- Perl
- Javascript (Node JS)
- Actionscript (Flash Media Server)
- CoffeeScript
- C (CGI)
- Erlang
- oh, and SQL for db queries
For browser-based front-end languages, you're somewhat limited in what the browser can support (excluding launching out-of-browser applications). We could talk about:
- HTML
- Javascript
- CSS
- Actionscript
- CoffeeScript (compiled to Javascript)
- XML-based languages (X3D, SMIL, SVG, DITA, some interpreted by the browser, others transformed using XSL)
- VBScript
- Silverlight
- Java (applets)
For native PC desktop front-ends, most popular front-end languages would probably be (I'm guessing, in no order):
Visual Basic 6 (from my experience with big enterprises, I bet a lot of those are still out there, just like Windows Vista)
- .NET
- Java (Swing apps)
But just about every language that can create desktop apps also has some net code library that lets you write n-tiered applications (Kivy (Python), Tcl/Tk, ...).
For native mobile application front-ends, most popular would probably be:
- Objective C (for iOS apps)
- Java (Android apps)
But if you just want most popular (browser-based) web application development stacks, that would probably some combination of the following:
Front-end: HTML / Javascript / CSS
Back-end: PHP / Java / Javascript / Ruby / .NET / Python
No comments:
Post a Comment