Ochronus onLine

where the rising ape meets the falling angel

Visit my new blog at https://ochronus.online/

Top Technology and Software Trends – 2012 – 2013

Here’s the list of new technology trends to follow based on my experience and prediction:

I’m still getting a lot of visits on my old 2010 post about top software development trends - so I guess there is interest in this topic. I feel many of my points were fair in that post and many still stand, but the additions from the last years are clearly missing.

So, the list:

Mobile

Mobile really keeps getting big. With more and more people accessing the net via a mobile device (or tablet), businesses simply can’t afford not to focus on these users and visitors. As a developer, you cannot afford to ignore this field of technology. What to learn about mobile?

  • iOS/Android development
  • Responsive design
  • Mobile UI kits
  • Site size/peformance optimization – mobile users pay for bandwidth, be gentle with them!

Agile principles

This keeps popping up in my posts and talks – I find it very important to let as many developers know about agile as possible. Agile is a lightweight set of principles to guide you from project management to daily development. I call it the zen of work as it’s gently changing the way we work, how we communicate and is a general principle. Visit agilemethodology.org to learn more about the basic principles, while I urge you to look at more specific implementations:

  • Lean
  • Kanban
  • Scrum

Master more than one programming language

Every programming language may add new experiences to your professional knowledge. You get to see new ways of thinking, muti-paradigm solutions which is essential to your development as a professional. Also languages are like tools – the more you know, the better chances you have to do any kind of work you come across. Some of my (subjectively!) favourite languages:

  • Ruby
  • Python
  • Clojure
  • Haskell – seriously, give this one a shot. It’s not easy but it will just blow your mind when you start understanding things!

Learn a Javascript ‘dsl’ language

Javascript is an essential part of web development and it won’t die out soon. Take your daily JS practices to a new level with learning a new javascript ‘dialect’. I recommend CoffeeScript, though it has received some ciriticism and some guys prefer Google’s Dart. I think both languages are fine and extend Javascript well. Be sure to check out either or both of them!

Get to know HTML5 and CSS3

I know you’re probably sick of these buzzwords, but there really is something about html5 and css3. They allow much nicer, semantically logical websites. Top html5 features:

  • Multimedia support. Both audio and video!
  • Canvas
  • New input types – for example: email. With validation! With regexp!
  • Custom data attributes
  • In-place editable content
  • Local storage
  • Semantic tags like header, footer, aside, section, article, etc.

Top css3 features:

  • font-face – downloadable custom fonts!
  • opacity
  • RGBA colors – so you can also specify the transparency in one step
  • border-radius – for rounded borders
  • box-shadow and text-shadow
  • gradient
  • multiple backgrounds
  • transform – rotate, skew, scale and generic matrix-based transformation
  • transition – nice change effect for elements

Responsive pages

This goes hand in hand with the growing volume of mobile/tablet users. Responsive design basically means that your page responds to different resolutions and screen sizes. My blog is an example, try resizing the browser window and see how the layout changes along. Hopefully you can comfortably read this post on a mobile phone, on a tablet and on a desktop monitor without manually zooming in/out.

Responsive design to a certain extent can be done by pure CSS techniques, some tips:

webdesignerwall.com/tutorials/5-useful-css-tricks-for-responsive-design

http://webdesignerwall.com/tutorials/5-useful-css-tricks-for-responsive-design

There are combined js/css frameworks, like:

  • Twitter bootstrap
  • ResponseJs

Continuous integration / delivery

It’s more of a principle than a technology, but the basic idea is to be able to confidently go live at any time. Originally proposed as a part of XP (eXtreme Programming) it is the practice of merging all developer workspaces with a shared mainline several times a day basically.

Usually it means that you have a very good test coverage, and automated testing solution and an advanced deployment scenario.

Key technologies:

  • Jenkins
  • Puppet / Chef

Please share your thoughts on the topic – have I missed something? Am I wrong?

Proudly powered by Hexo and Theme by Hacker
© 2020 ochronus