The web and Software Development industry is growing fast at an unpredictable rate, Nigerian Programmers need to relentlessly be marching forward each day. Lots of popular Programming Languages, Frameworks and Tools were released in 2016 which gives us more power and change the way we work.
It is difficult to keep track of everything that is new, so I decided to give you my take on what is important and what you should learn during the next twelve months of 2017.
So am going to be talking about the Trends, Frontend, Backend, Tools, Databases and Tech.
The Trends
2016 Top Tech Trends includes the The Progressive Web App Concept, The Bots, The Cloud and Frontend Frameworks.Progressive Web Apps (PWA)
In 2016 we saw the rise of the Progressive Web App concept. It represents web applications that works Supports all Browsers, Responsive to support most popular screen sizes(desktop, mobile, tablet, or whatever is next),Safe and Secure to use with the help of HTTPS to prevent snooping and to ensure content hasn't been tampered with, User friendly URL e.t.c. They can be added to your smartphone homescreen and can even send Push Notifications, bridging the gap with Native Mobile Apps. I think that in 2017 Progressive Web Apps are going to become even more important and are well worth investigating. Luckily Konga a Nigerian Ecommerce Company has started moving towards PWA.The Bot Hype
Everybody is talking about bots right now. A chatbot is a service or tool that you can communicate with via text messages. The chatbot understands what you are trying to say and replies with a coherent, relevant message or directly completes the desired task for you. . Bots are the new mobile apps, and if you hurry up you can catch the wave while everyone is excited. Modern chatbots do not rely solely on text, and will often show useful cards, images, links, and forms, providing an app-like experience. Once the novelty wears off, bots will probably be relegated to some boring role such as automated customer support. But hey, we can dream!Consolidation of Frontend Frameworks
In the JavaScript community we have an incredible churn of frameworks and tools, with new ones being born almost every week. Until recently, the expectation was that the old tools would just be replaced by the new, but this is not what we saw in 2016. Instead, we saw the popular frameworks exchanging ideas and incorporating the innovations put forth by newcomers. So in 2017 it won’t matter much which of the major JS frameworks you choose, their features are mostly comparable.The Cloud
Companies and developers everywhere are embracing the cloud. This is virtualized computer know as Virtual Private Server(VPS), It is an infrastructure that is available on demand and fully configurable from a control panel. The most popular cloud companies on the web are Amazon Web Service popularly known as AWS, Google Cloud and Microsoft Azure. Thanks to their ongoing competition prices have been falling, bringing it within the budgets of smaller companies and individual developers. Familiarizing yourself with the cloud workflow would be a good investment for 2017.Machine Learning (ML)
Machine Learning (ML) has exploded in popularity during the last twelve months. And with the historic AlphaGo vs Lee Sedol match in March, it entered the mainstream. It’s been almost 20 years since IBM’s Deep Blue supercomputer beat the reigning world chess champion, Gary Kasparov, for the first time under standard tournament rules. Since then, chess-playing computers have become significantly stronger, leaving the best humans little chance even against a modern chess engine running on a smartphone. Smart computer systems that learn from raw data are revolutionizing the way we interact with our mobile devices. By the looks of it, ML will be an even bigger factor in 2017.The Techs
The cloud has won over the entire software industry, with large companies closing down their datacenters and moving their entire infrastructure there. The three main platforms are AWS, Google Cloud and Azure. All three have powerful, ever expanding feature sets, including virtual machines, hosted databases, machine learning services and more. Prices are going down rapidly, and the cloud is within reach of small companies and individual developers. For 2017, it would be a good learning experience to deploy a side project to one of these providers.Artificial Intelligence was the buzzword of 2016. Speech recognition and image recognition and classification are only two of the user facing applications of the technology, with machines reaching and even surpassing human level performance. AI has been used to make Facebook recognize your friends faces automatically when you upload pictures and There are a lot of new startups that apply AI and Machine Learning to new domains. And a lot of open source projects were released like Google’s Tensor Flow and Microsoft’s Cognitive Toolkit. Machine Learning is a very math-heavy topic, and for those just starting out there are comprehensive online courses available.
Virtual Reality (VR) and Augmented Reality (AR) have been around for a while, but finally the technology is mature enough to offer a compelling experience. Facebook (Oculus Rift), Google (Daydream) and Microsoft (Windows Holographic) all have virtual reality platforms that welcome third party developers. VR headsets still face challenges like eliminating nausea and offering compelling use cases outside of gaming, but they are getting there.
Learn one of these: Cloud deployment, a Machine Learning library, VR Development.
Languages
In 2016 we witness the domination of powerful programming languages that make work easy for programmers, Node.Js really gain much recognition in the year, With powerful tools like Gulp, Grunt and Socket.io there are endless things you can achieve with such flexibility and project flow. Which is why JavaScript is at the top of the list.We have some already excellent languages on the list.JavaScript
JavaScript continues its incredible pace of innovation. Catalyzed by the quick release schedules of web browsers, the JS standard is updated every year. The next edition, ES2017, is expected to be finalized in mid 2017. It will bring the dream feature of many JS developers – аsync/аwait for working with asynchronous functions. And thanks to Babel, you can write ES2017 in every browser even today.TypeScript
TypeScript 2.1 was released in late 2016, as it tagline says "JavaScript that scales". Typescript is a strong tools for large apps bringing async/await for old browsers and improved type inference. TypeScript is a statically typed language which compiles to JavaScript. It adds powerful features like a classic OOP model and optional static typing to make large codebases easier to maintain. It is the preferred language for writing Angular 2 apps, and we recommend giving it a try. Here is our quick start guide about it.C# 7.0
C# 7.0 is expected in 2017 and will enhance an already excellent language. C# 7.0 adds a number of new features and brings a focus on data consumption, code simplification and performance. Microsoft surprised everyone when they introduced the open source Visual Studio Code editor and .Net Core. Both of these run on Linux, Windows and macOS and allow you to write faster and efficient applications in C#.Python 3.6
Python 3.6 was released in December. It is bundled with major improvement on Windows, Security and CPython implementation plus and upgrade in it standard libraries. It is solidifying its place as the scripting language of choice for devs, IT pros and scientists. It is suitable for automation, web development, machine learning and scientific computing. The Python 2/3 split has been an years-long struggle for the community, but these days you can confidently choose 3 and enjoy full library support. For those in need of extra performance, they can take a look at PyPy, an alternative JIT enabled Python runtime.Ruby 2.3
Ruby 2.3 was released earlier this year with a number of performance improvements. This is the first stable release of the Ruby 2.3 series. It introduces many new features. Ruby is also a good choice as a general purpose scripting language, but it shines when paired with Rails. The Ruby 3×3 initiative was announced, which will attempt to make the upcoming Ruby 3 release 3 times faster that the current version, opening the doors to using Ruby in more contexts.PHP 7.1
PHP 7.1 was released in December, and brings minor enhancements to the language such as Nullable types, Square bracket syntax for array destructuring assignment , Class Constant Visibility e.t.c. This builds upon the major performance improvements that were had in version 7.0 last year, turning PHP into a fast platform for building web applications. We recommend PHP The Right Way for good practices and a modern take on building web apps in the language.Java 9
Java 9 is expected in 2017 and will come with welcome new features like a repl for evaluating code, HTTP 2.0 support and new APIs.The official HTTP 2.0 RFC was approved just a few months ago, building on top of Google’s SPDY algorithm. SPDY has already shown great speed improvements over HTTP 1.1 ranging between 11.81% to 47.7% and its implementation already exists in most modern browsers.Java 9 will have full support for HTTP 2.0 and feature a new HTTP client for Java that will replace HttpURLConnection, and also implement HTTP 2.0 and websockets. There is a strong demand for talented Java developers and a breadth of exciting projects that use the language. If Java is not your thing, there are a number of JVM based languages like Kotlin and Scala that you can check out. Twitter has started transiting into Scala.Swift 3
Swift 3 was released earlier this year. This is Apple’s vision for a modern programming language that eases the development of apps on iOS and macOS. The biggest update in Swift 3 involves the standard library adopting consistent naming conventions across libraries. Swift is open source and has attracted a large community. Version 4 is planned for 2017, which will improve the language and introduce server APIs, making it a good choice for writing web apps and backends. The API Design Guidelines contain the rules that the team settled on as they were building Swift 3, which place a high value on readability and accessibility to new programmers.If you are looking for something more exciting, you can try out Crystal and Elixir, which both combine a friendly ruby-like syntax with superior performance. Or you can look into a functional language like Haskell or Clojure. Two other fast languages are Rust and Go which we recommend.
Learn one or more of these: JS (ES2017), TypeScript, C#, Python, Ruby, PHP7, Java/Kotlin/Scala.
Databases
In 2016 scaleable database are what big tech companies are after,I personally have tried MongoDb in as lot of applications with scalabiliy issues and it worked fine, It has Simplified data governance with document validation, coupled with GUI-based schema discovery and visualization, We have also seen how such database can be used to manage session in PHP.MongoDb 3.2
MongoDB 3.2 is a gian release in Early November. MongoDB is an open-source document database and the leading NoSQL database. MongoDB was developed by the company 10gen (now called MongoDB Inc) in October 2007. MongoDB has been used by many high-trafficked highly-scalable websites such as Craigslist, eBay, Foursquare and SourceForge. MongoDB 3.2 is a giant leap forward that helps organizations standardize on a single, modern database for their new, mission-critical applications.MongoDb 3.2 was shipped with new pluggable storage engines optimized for in-memory computing and the most security-sensitive applications, Faster business insight with enhanced real-time analytics and search, coupled with seamless connectivity to industry-standard SQL-based BI tools for sophisticated data exploration.PostgreSQL
PostgreSQL saw two whole releases this year – 9.5 and 9.6. They brought the long awaited UPSERT functionality that we know from MySQL (aka ON DUPLICATE KEY UPDATE), better full text search and speed improvements thanks to parallel queries, more efficient replication, aggregation, indexing and sorting. Postgres is used for massive, terabyte scale datasets, as well as for busy web apps, and these optimizations are welcome.MySQL 8.0
MySQL 8.0 is going to be the next major release of the database. It is expected sometime in 2017 and it will bring a lot of improvements to the system. MySQL is still the most popular database management system and the entire industry benefits from these new releases.For NoSQL fans, we can recommend CouchDB. It is a fast and scalable JSON storage system which exposes a REST-ful HTTP API. The database is easy to use and offers great performance. PouchDB is a spiritual counterpart to CouchDB that works entirely in the browser and can sync with Couch. This allows you to use Pouch in an offline ready web app, and get automatic syncing once internet connectivity is available.
Redis
Redis is developers favorite key value store. It is small, fast and versatile. You can use it as a smart memcache alternative, as a NoSQL data store or a process messaging and synchronization channel. It offers a large number of data structures to choose from, and the upcoming 4.0 release will have a module system and improved replication.Learn one of these: MongoDb, Postgres, MySQL, CouchDB, Redis.
Frontend
The web platform made two major advancements recently – Web Assembly and Service Workers. They open the gates for fast and performant web applications that bridge the gap with native compiled applications. Service Workers in particular are the enabling technology for Progressive Web Apps and bring support for Notifications to the web platform, with more APIs to follow in the future.Angular.js
Angular.js 2 was released this year. The framework is backed by Google and is very popular with enterprises and large companies. It has a vast number of features that make writing everything from web to desktop and mobile apps possible. The framework is written in TypeScript, which is also the recommended language to write applications in. There is a lot to read about, but we think learning Angular 2 in 2017 would be a good investment.Vue.js
Vue.js also saw its 2.0 release this year. It borrows the good ideas from Angular, React and Ember, and puts them into an easy to use package. It is also quite a bit leaner and faster than the first two. We suggest that you give it a try this year, by starting with one of our Vue.js tutorials.Ember
Ember is another solid choice for a JavaScript framework. It supports data bindings, auto-updating templates, components and server-side rendering. One benefit that it has over its competitors, is that it is more mature and stable. Breaking changes are much less frequent and the community values backwards compatibility. This makes the framework a good choice for long-lived applications.Two other frameworks that are worth a look are Aurelia and React. The ecosystem around React has grown considerably more complicated in the last year, making it difficult to recommend for beginners. But experienced devs can combine the library with GraphQL, Relay, Flux and Immutable.js into a comprehensive full stack solution.
No frontend compilation would be complete without mentioning Bootstrap. Version 4 is currently in Alpha and a release is expected in 2017. Notable changes are the new versatile card component and the flexbox grid (see our comparison with the regular grid here), which modernize the framework and make it a joy to work with.
SASS, LESS and Stylus remain the three most popular CSS preprocessors today. Although vanilla CSS is finally getting support for variables, SASS and LESS are still superior with their support for mixins, functions and code organization. If you haven’t already, take a look at our SASS and LESS quick start guides.
Learn one or more of these: Angular 2, Vue.js, Ember, Bootstrap, LESS/SASS.
Backend
There is plenty of choice for the backend, all coming down to your preference of a programming language or specific performance needs. An ongoing trend in web development is business logic to move away from the backend, turning that layer into an API which is consumed by the frontend and mobile apps. But a full stack framework is often simpler and faster to develop in, and is still a valid choice for a lot of web apps.Node.js
Node.js is the primary way for running JS outside the browser. It saw many new releases this year, which increased performance and added coverage for the entire ES6 spec. Node has frameworks for building fast APIs, servers, desktop apps and even robots, and a vast community creating every kind of module imaginable. Some frameworks that you may like to look into: Express, Koa, Next, Nodal.PHP
PHP is a web language first and foremost, and has a large number of web frameworks to choose from. Thanks to its excellent documentation and features, Laravel has formed an active community. Zend Framework released version 3, which marks a great upgrade for this business oriented framework. Symfony also saw a lot of new releases this year, making it an even better choice as a full stack solution.Ruby
For Ruby, the Rails framework is the premier choice. Version 5.0 was released in 2016, bringing support for Web Sockets, API mode and more. Sinatra is also a good choice for small apps, with version 2.0 expected sometime in 2017.Python
Python has its own full stack/minimal framework combo in the form of Django and Flask. Django 1.10 was released in August introducing full text search for Postgres and an overhauled middleware layer.Java
The Java ecosystem also has popular web frameworks to choose from. Play and Spark are two solid choices, and as a bonus they can be used with Scala as well.For the enthusiasts there is also Phoenix, which is written in Elixir and attempts to be a feature complete alternative to Rails with superior performance. If Elixir is one of the languages you would like to learn in 2017, give Phoenix a try.
Learn one of these: A full stack backend framework, a micro framework.
Thanks!
Your feedback helps us improve tutorials.
No comments:
Post a Comment