Web开发人员:在2014年中应该学习什么?
有了这么多新的技术,工具和方法,在2014年中Web开发人员必须学习些什么内容呢?本文将告诉你什么样的好技术是应该学习的,并选择自己的最佳方式。
Web development languages and platforms for 2014
A quick Google search can tell you which languages are the most popular and which are the highest paid, I think the following languages are the ones to learn (or continue to learn) for 2014.
JavaScript - http://www.w3schools.com/js/
When it comes to client side, there isn’t really any competition against JavaScript. JavaScript provides developers with the ability to create complex interfaces easily. Most web developers will already have some experience with JavaScript because it has a small learning curve and has been adapted all around the web. The web development community has built thousands of technologies, frameworks and tools using JavaScript. See the frameworks section of this article below.
PHP - http://php.net/
Like JavaScript PHP has been around for a long time. It provides a stable development environment with a huge community to allow developers to easily support the complexities of the front end interfaces and applications. As a PHP developer when you come up against a complicated solution you can usually bet that someone has already produced a solution thanks to the thousands of dedicated developers. As with JavaScript there are many PHP frameworks available to help abstract some of the more mundane tasks.
Java - http://www.oracle.com/technetwork/java/index-138747.html
I have never really been interested in Java, that’s not to say it is a bad language I have always just felt I could achieve everything I need with languages I already know. This year I feel Java is much more important thanks to the Android and mobile development boom in recent years, as Java is the primary development language for Android. Mobile development is continuously becoming more and more important to businesses and Java developers are becoming sort after as a result.
NodeJS - http://nodejs.org/
In comparison to the other languages listed here, NodeJS is very new. From its name it is obvious that it utilizes JavaScript as its scripting language. NodeJS is used to build fast, scalable server-side network applications. Over recent years NodeJS has built a hungry development community and out of this has come some incredible creations. Bundling NodeJS with other new technologies such as MongoDB it is possible to create fast, intuitive, real-time web applications for the future. Read more about NodeJS here.
Ruby on Rails - http://rubyonrails.org/
Ruby is another language that I have never really paid any attention to, but has a following that cannot be ignored. Many PHP developers that have converted to Ruby say that it is one of the best things they have done. Read this interesting article comparing PHP and Ruby. Just remember there is never a right and wrong choice, it all depends on the project and requirements.
Frameworks
Frameworks are always a big debate between developers, which is best, etc, etc. The point is though, just with choosing a language, it depends on the project. That said, as with any technology you should be looking at the popular, tried and tested, community fueled frameworks and leaving the dry desolate ones alone. Below are the JavaScript and PHP frameworks that I think are good to learn in 2014.
Laravel - http://laravel.com/
Laravel is a PHP framework, and as shown above Laravel’s popularity is dominating. The main reason why I am so interested is it is built in-mind of creating RESTful APIs and designed to work with JSON out of the box – something that other frameworks such as CodeIgniter cannot currently offer.
ExpressJS – http://expressjs.com/
Express is a NodeJS framework that abstracts some of the low level NodeJS tasks making NodeJS easier to pick-up. As NodeJS is still relatively new, a strong set of best practices has not yet emerged, Express helps with this. There are many NodeJS frameworks available but Express appears to be the most popular and is easiest to find tutorials and resources for. An excellent seed that bundles NodeJS, AngularJS and Express can be found here.
AngularJS – http://angularjs.org/
Anyone that knows me will have already heard about AngularJS as I am a massive advocate for it, I love it. AngularJS is a JavaScript framework that allows the developer to easily organize their code in an MVC fashion which means writing modular, reusable code is a piece of cake. Take a look at a tutorial I wrote a while back and learn AngularJS in 30 minutes.
Additional Tools and Methodologies
We’ve talked about languages and frameworks but there are loads of other stuff available that can aid your development work. These points below are items I have spotted on the jobs boards and things I can personally recommend.
- Iterative, agile development – 18 months ago I made the transition to a Agile Scrum team from a typical specification to implementation workflow. The outcome was spectacular, productivity doubled across the entire team. Iterative development allows developers to work with an initial strict set of criteria, producing a complete deliverable product quickly and then iteratively revisiting the same project to make enhancements based on client feedback.
- Grunt.js – GruntJS is a JavaScript task runner which runs on top of NodeJS. It allows developers to perform a range of tasks as part of a build process, to name just a few:
- CSS, HTML and JavaScript minification
- Code concatenation and compression
- File versioning and hashing
- Image optimization
- Vagrant – Vagrant allows you to create reusable and portable development environments. Vagrant allows you to run a headless virtual machine that can have an entire development environment pre-configured and ready to go. If you get a new developer all they need to do it install vagrant on their Linux, Windows or Mac machine and run a single command to get up and running. This tool is incredibly powerful and saves a lot of time.
- Jenkins - Jenkins is a Continuous Integration (CI) platform that can automate code deployment, unit tests and much more. More and more business appear to be choosing Jenkins as the CI tool, probably because its free! </ul>