Hacker News new | ask | show | jobs
by anujkk 5025 days ago
Web Sites/Applications usually consists of two parts :

1) Front-End: This is the User Interface, the part you actually see and interact with. HTML, CSS, and Javascript are the core technologies used to develop front-end. As you must have noticed, HTML/CSS/Javascript files are served by a web server and are rendered by browser(client) to display the UI. These files can be served statically or it can be generated dynamically using Back-End technologies.

Once you have mastered the fundamentals of HTML,CSS, Javascript, which is all you basically need to develop front-end, you may want to learn javascript libraries like jquery/angular.js/backbone.js etc and css frameworks like twitter bootstrap. These technologies will make your web development task easier.

2) Back-End: This is where the core business logic resides. Typically a back-end application consists of a programming language, a framework and a database. Its role is to perform the business logic, save the information in database and send the changes in UI to client as HTML. If the back-end is a REST API it can serve JSON/XML instead of HTML and Javascript can update HTML after parsing JSON/XML.

Some of the popular back-end language/framework combinations used are PHP/CodeIgniter, Python/Django, Ruby/Rails, C#/Asp.net MVC, Javascript(node.js) etc. Databases used are either relational (MySQL, PostgreSQL) or NoSQL(MongoDB, CoucheDB).

My suggestion : After leaning HTML/CSS/Javascript, learn jquery and twitter bootstrap. Then learn any one of Python/Django or Ruby/Rails while using MySQL as database.

1 comments

is java still a useful language to learn or is it considered outdated?
It depends on whether you are looking for its usage in startups or in enterprise.

In the startup world very few are using Java for web development. They are using either Ruby, PHP, Python or Node.js. Java is mainly being used to develop Android applications. However, some companies like Twitter shifted to Scala after starting with Ruby. From wikipedia - Scala is a multi-paradigm programming language designed as a "better Java" — building on top of the Java virtual machine (JVM) and maintaining strong interoperability with Java, while at the same time integrating functional programming along with Java's object-oriented programming model. Here is a related article - http://www.readwriteweb.com/hack/2011/07/twitter-java-scala....

When it comes to enterprise, Java and .Net are still most used technology platforms.

If you want to start your own startup or if you want to work in a startup think about learning web development using HTML5, CSS3, JavaScript and any one of Python/Django/Flask, Ruby/Rails or PHP/CodeIgniter/Symfony. I would suggest to go with python/django. If you want to get into mobile application development learn Objective-C/ios for apple devices and Java/Android for Android based devices.

If it is all about getting a job in high profile software companies that makes softwares for big banks go for .Net or Java.