Sunday 30 November 2014

10 Professional Development Tips For Programmers

Great developers are the rock stars of the tech world: They are always in demand, they get the best perks and they work with innovative companies of all sizes. However, achieving this rock star status is a long journey. Along the way there are skills you need to add to your toolbox and habits you need to develop if you plan on moving into that corner office.


With IT unemployment at 2.6 percent, competition for development talent is fierce and opportunities abound. However, you still have to work to land top spots. Like most IT professionals, programmers have several areas they should focus on in order to keep their careers on track and their skills sharp. To identify the key areas, we asked developers and hiring experts for advice on professional development and the skills necessary to keep moving up the corporate ladder.

1. Staying Current Requires Continuous Learning
Technology is ever-changing and staying relevant means you must change and evolve with it. Self-learning through books or media, boot camps, meet-ups, conferences, internal training offered by your employer or volunteering are all viable ways to grow your skill set.

"The state of software development changes so rapidly that regardless of what technology you work with today, aspects of that technology will be different in five years, and maybe be completely gone in 10 years," says Robert Treat, a developer for more than 15 years and CEO of OmniTI. "Even if you keep your focus on a narrow tool set, there will always be new versions of software that add features and change behaviors. Because of this, you need to find a mechanism for continuously learning new technologies that may not be in use at your current day job. Side projects, open source community involvement or working in companies that work with a wide mix of technologies are good ways to overcome this."

2. Problem-Solving Skills
"Some companies put a great premium on problem-solving skills and give logic exercises or puzzles instead of a coding quiz. Their feeling is that it's not so much your ability to code in a particular language, but your ability to creatively solve problems that demonstrates whether you will be a high performer. Since many companies use a variety of languages depending on the application, they want people who can easily transition between various languages and tools," says Tracy Cashman, senior vice president and partner of Information Technology Search at WinterWyman.

3. Communication and People Skills
The days of the introverted, hidden-away IT people are gone. Make way for the IT pros who understand that different groups of people need things communicated differently. "Many [in] development roles found it perfectly acceptable to work only by yourself and grunt occasionally at a passing coworker. While those roles may still exist in certain situations, most dev roles today require a certain level of interpersonal skills, especially due to the increase in agile, team-oriented development. The most extreme form of this would be paired programming where two developers are actively working together and reviewing each other's work," says Cashman.

From inside the trenches of development, Web architect Brian Dunavant shares his perspective on communication, "As a senior developer, it's easy to become jaded and dismissive of user bug reports or junior developer issues. Force yourself to recognize this impatience and avoid it. Yes, they will probably be wrong most of the time, but this is a teaching moment, or opportunity to help your customer. And for the time they aren't wrong, you potentially solved the problem and learned something new."

4. Networking and Personal Branding
Most people find their next job opportunity via networking. That's even more so in the technology field. Branding is all about showcasing what separates you from the rest of the pack. This two-punch combination is an effective defense against reorgs, downsizings and outsourcings, but it's more than just adding connections on LinkedIn. It's about forging relationships.

"The good news is that as a developer, your skills are probably highly sought after. The bad news is that if you aren't out there actively networking, you may not even know what great opportunities are available to you. Often I find developers have the least developed LinkedIn profiles. They may be afraid of being called by recruiters, but they are also making themselves invisible to hiring managers who often do their own hunting on LinkedIn. At a minimum, any good developer should be attending meet-ups and expanding their circle. Most hires are made by referral or prior knowledge of someone's skills," says Cashman.

Treat offers this tip for developers looking to raise their visibility in their area of expertise: "When it comes to branding, nothing works better than a technical blog where you showcase things you have learned and projects you have been involved with. When potential employers go looking for experts on a topic or technology, this personal branding can help lead them to you."

5. Code Documentation and Neatness
Not many developers enjoy going through poorly formatted, undocumented code to troubleshoot, but it happens all the time. While you can't control everyone else's coding standards you can make sure your output is tidy and understandable. "The key things to focus on in these areas are the ability for people new to a project to be able to come up to speed quickly, and automating significant portions of your development process, such as syntax checking, code formatting and other similar grunt work. Clean code and clean documentation do help with these goals, but remember that they are paths to the goals, not the goals themselves," says Treat.

"My philosophy - as is the philosophy of most professional software engineers - is that you are putting your name on this work. Well-designed and well-written code shows respect for your profession as well as your clients," says George Liu, owner of Tellahilim LLC, an app development company.

6. Master Naming Functions
Developers have different opinions on naming conventions, but you probably should have a strategy to ensure your code is easy to read, follow and understand. "The key to naming conventions is consistency. As long as developers choose a linguistically meaningful pattern that would be readable by his or her successors, the actual pattern can vary. One stipulation for enforcing a particular naming convention is when the code is added to the project with a previously defined standard," says Leon Fayer, software developer, solutions architect, and vice president of OmniTI.

7. Get Familiar With Agile
"This is almost a given for most development positions these days. Even if a team uses a combination of waterfall and agile, there are usually continuous development and releases in some form. Companies want people who can be adaptable and effective at iterative development," says Cashman.

Treat agrees, but offers this warning: "The days of months and months of heads-down software development are dying, as people move to more iterative processes. It is worth every developer's time to read the agile manifesto, but beware that like all religious texts, it is often interpreted in different ways when it comes to practice. Similar techniques to be familiar with would also include reading about continuous delivery, and continuous deployment. Flexibility and regular communication are a part of all of the best software development shops now, so developers should prepare for that."

8. Get Familiar With a Native Mobile Platform
While our experts point out that this isn't necessary to be a successful developer, they also point out that this is an area with huge demand and continues to build momentum as the world becomes more mobile-driven. "Software development is a large enough field that as a developer, you can actually ignore mobile development and still have a fruitful career. That said, mobile platforms are quickly replacing desktop platforms, so it is in a developer's best interest to be familiar with the technologies involved. At a minimum, if you are doing any kind of Web development, it's important to read up on responsive design and mobile first methodologies," says Treat.

"As the world becomes more mobile-device driven, so too does the development world. Companies are actively developing their products for mobile platforms, recognizing that is the way many customers want to do business, whether it's on their Android or iPad. Those who haven't worked with mobile technology may find themselves dated when it comes time to find a new position," says Cashman.

9. Project Management Skills
If you plan on moving up in your career, project management skills are a smart place to invest your time and resources. "I always encourage developers to become familiar with secondary skills and roles that have a heavy impact on the work they do, and project management is no different. Developers who can't participate in managing projects will have a diminished level of influence over the projects they work on. Even if only for personal reasons, it's a good idea to have some methodology for ensuring the process you are using for development makes sense," says Treat.

10. JavaScript, CSS and HTML5 Skills
In smaller and medium-size companies a lot of dev pros pull double-duty and are asked to handle these types of jobs. This is another area that isn't a necessity, but when it comes to job searching it's something that could sway a potential hiring manager. "Having Web/UI skills makes you that much more of a well-rounded candidate. Developers are often asked to wear multiple hats. While bigger teams may have the luxury of having a strong front-end developer who can focus more on the look and feel of the application, there are many times when hard-core developers are asked to handle this work as well," says Cashman.

Source :http://www.techgig.com/tech-news/editors-pick/10-Professional-Development-Tips-For-Programmers-27383?mailer_id=2095&utm_source=Mailer&utm_medium=TG_batch&utm_campaign=digest_news_2014-11-29&email=renuka25591@gmail.com&activity_name=MjI4MDI=&template_type=3&dt=&auto_login=cmVudWthMjU1OTFAZ21haWwuY29tQCMkQCMkNzg4ODg4QCMkQCMkMTM5MDc2NjQwMw==&src_type=autoLogin

Friday 28 November 2014

10 New Frameworks for Web Developers

New frameworks are emerging as rapidly as the web infrastructure and its demands are expanding. Along with the newest requirements which designers are faced with regarding responsive web design, the structure of Frameworks consists as one of these as being one of the most pertinent when it comes to building and creating websites. Frameworks can be considered or defined as a package which is comprised of a structured set of files and folders of standardized code (HTML, CSS, JS documents etc.) and is utilized within supporting the development of websites, as being the basis to begin creating or building a site.
A framework can be considered or defined as a package which is comprised of a structured set of files and folders of standardized code (HTML, CSS, JS documents etc.) and is utilized within supporting the development of websites, as being the basis to begin creating or building a site.
In this article we have gathered up a list of 10 New Frameworks for Web Developers, some are more complex than others and offer more in terms of configuration options, widgets and interface options. However, they will allow you to create better things concerning your site. We hope you will discover which one suits your web needs best. Enjoy !!

1. Ease.js

easejs
GNU ease.js is a Classical Object-Oriented framework for JavaScript, intended to eliminate boilerplate code and “ease” the transition into JavaScript from other Object-Oriented languages. GNU ease.js is a framework, not a compiler. It may be used wherever JavaScript may be used, and supports all major browsers; ease.js also provides support for older, pre-ES5 environments by gracefully degrading features (such as visibility support) while remaining functionally consistent.

2. Gillie

Gillie
Gillie is a JavaScript micro-framework that lets you easily structure your app using models, views and handlers. Gillie takes things from Backbone, jQuery and Underscore, it is very easy to set up and it’s only dependency is jQuery. Gillie is a lightweight MVC framework 4k inspired in Backbone. It provides useful methods to perform RESTful HTTP requests and allows for a separation of concerns using models, views and handlers.

3. Framework 7

framework7
Framework7 is a fully featured HTML framework just for building hybrid (Phonegap) and web-based apps with a native iOS7 feel. It’s lightweight and flexible and uses Ajax for navigation between pages you will need a server. So to make it work you should put dist folder (or Kitchen Sink) on a server. Or, as an option, you may use Grunt’s server.

4. Crumpet

Crumpet
Crumpet is a deliciously simple SASS/SCSS responsive framework that keeps your HTML clean & stays out of your way. Built to make use of placeholder selectors to reduce the size of your HTML markup. No one likes messy HTML.
Creating website layouts fast & responsive will be a breeze. Not windy like it is in Autumn. Allows you the freedom to do what you want with your code. Easy and simple to hack about and make your own. Everything is straight forward, all of the code is commented and gives you instructions on how to use Crumpet, so you can spend all your time in the code editor.

5. Mithril

Mithril
Mithril is a client-side Javascript MVC framework, i.e. it’s a tool to make application code divided into a data layer (called “Model”), a UI layer (called View), and a glue layer (called Controller). Mithril is around 3kb gzipped thanks to its small, focused, API. It provides a templating engine with a virtual DOM diff implementation for performant rendering, utilities for high-level modelling via functional composition, as well as support for routing and componentization.

6. ApplePie

applepie
ApplePie Toolkit is modular and responsive CSS framework. Getting started with ApplePie is easy. Whether you are building a simple site with a ‘default’ UI, or you are a master of SASS, building a new app – this toolkit will help you get up and running! Simplest way to get started – straight CSS Toolkit version that includes everything you need to do rapid prototyping. Just grab a CSS file (applepie.css or applepie.min.css), include it to a web page and start doing markup without additional efforts on styling elements.

7. Druandal

Durandal
Durandal is a cross-device, cross-platform client framework written in JavaScript and designed to make Single Page Applications (SPAs) easy to create and maintain. They have used it to build apps for PC, Mac, Linux, iOS and Android. Durandal is built on libs you know and love like jQuery, Knockout and RequireJS. There’s little to learn and building apps feels comfortable and familiar.

8. Molecule

molecule
Molecule framework has been built for enthusiast game developers with more than five years of experience on mobile gaming and more than ten on general game development.
Due the better compatibility of mobile browsers with actual html5 specifications and the natural evolution of the hardware inside them, html5 mobile gaming arise as a true possibility nowadays; that it’s given rise to Molecule, which borns from the idea of create a simple yet powerful framework to build html5 cross-platform games on an easy and efficient way.

9. Webplate

Get-Webplate
An awesome front-end framework that lets you stay focused on building your site or app all the while remaining really easy to use. Everything from a robust responsive layout engine, to global button elements, customizable forms and support for IcoMoon icon fonts. Webplate includes jQuery, Modernizr and Typeplate by default and has a ton of extra tools and features to access.

10. Jeet

jeet
Jeet is the advanced, yet intuitive, grid system on the market today and can consider it like the spiritual successor to Semantic.gs. Jeet is built on CSS preprocessors. As such, you’re no longer limited to classes like .col-6. Instead, you can pass any fraction, decimal, or combination of the two, to create a completely custom grid.

15 Best Node.js Frameworks for Developers


Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and
efficient, perfect for data-intensive real-time applications that run across distributed devices.
Node.js internally uses the Google V8 JavaScript engine to execute code, and a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in asynchronous i/o library for file, socket and HTTP communication. The HTTP and socket support allows Node.js to act as a web server without additional web server software such as Apache.
In this article we have gathered up a list of 15 Best Minimal Node.js Frameworks which will help you to develop creative web applications. Which Node.js Framework do you use or favorite, please comment below, we would love to hear your feedback. Enjoy !!

1. Express.js

expressjs
Express is a high performance and minimal web development framework for Node.js. The Express philosophy is to provide small, robust tooling for HTTP servers. Making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs.Built on Connect you can use only what you need, and nothing more, applications can be as big or as small as you like, even a single file.

2. Koa

koa
Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware within core, and provides an elegant suite of methods that make writing servers fast and enjoyable.
A Koa application is an object containing an array of middleware generator functions which are composed and executed in a stack-like manner upon request. Koa is similar to many other middleware systems that you may have encountered such as Ruby’s Rack, Connect, and so on – however a key design decision was made to provide high level “sugar” at the otherwise low-level middleware layer. This improves interoperability, robustness, and makes writing middleware much more enjoyable.

3. Flatiron

flatiron
It’s difficult to get consensus on how much or how little a framework should do. Flatiron is an unobtrusive framework initiative for node.js. No one agrees on frameworks. Flatiron’s approach is to package simple to use yet full featured components and let developers subtract or add what they want.
Flatiron promotes code organization and sustainability by clearly separating development concerns. Each component works elegantly with or without its counterparts. Many of the components work the same in the browser as they do on the server. This is the motivation behind flatiron.

4. Sails.js

sailsjs
Sails.js makes it easy to build custom, enterprise-grade Node.js apps. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app development. It’s especially good for building realtime features like chat.
Sails.js API scaffolding is nothing like Rails scaffolding. Instead, Sails automatically builds a RESTful JSON API for your models. And here’s the thing, it supports HTTP and WebSockets. By default, for every controller you create, you get the basic CRUD operations created automatically.

5. Restify

restify
restify is a node.js module built specifically to enable you to build correct REST web services. It intentionally borrows heavily from express as that is more or less the de facto API for writing web applications on top of node.js. Restify exists to let you build “strict” API services that are maintanable and observable. Restify comes with automatic DTrace support for all your handlers, if you’re running on a platform that supports DTrace.

1. Total.js

totaljs
Total.js is one of the best web application frameworks for creating a rich web sites and web services. The framework has good documentation and contains many examples. It supports friendly URL, XHR, JSON, LESS CSS (CSS 3), JavaScript minifier, XSS protected, resources, modules and supports MVC architecture.
The framework has no dependencies. Complete functionality is built in its core. You can install any module by the Node Package Manager. Framework doesn’t limit you. You can write whatever you want or rewrite existing functionality. It’s easy, simple and safe.

7. SocketStream

SocketStream
SocketStream is a new breed of web framework that uses websockets to push data to the browser in ‘realtime’. It makes it easy to create blazing-fast, rich interfaces which behave more like desktop apps than traditional web apps of the past. By taking care of the basics, SocketStream frees you up to focus on building your social/chat app, multiplayer game, trading platform, sales dashboard, or any kind of web app that needs to display realtime streaming data. All personal tastes (e.g. Vanilla JS vs CoffeeScript, Stylus vs Less) are catered for with optional npm modules that integrate perfectly in seconds, without bloating the core.

8. Locomotive

Locomotive
Locomotive is a web framework for Node.js. Locomotive supports MVC patterns, RESTful routes, and convention over configuration, while integrating seamlessly with any database and template engine. Locomotive builds on Express, preserving the power and simplicity you’ve come to expect from Node.

9. Socket.io

SocketIO
Socket.io is realtime application framework for Node.JS, with HTML5 WebSockets and cross-browser fallbacks support.

10. Derby

Derby
The Derby MVC framework makes it easy to write realtime, collaborative applications that run in both Node.js and browsers. Derby includes a powerful data synchronization engine called Racer that automatically syncs data among browsers, servers, and a database. Models subscribe to changes on specific objects, enabling granular control of data propagation without defining channels. Racer supports offline usage and conflict resolution out of the box, which greatly simplifies writing multi-user applications.

11. Hapi

hapi
A rich framework for building web applications and services. hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities. hapi enables developers to focus on writing reusable application logic instead of spending time building infrastructure. The framework supports a powerful plugin architecture for pain-free and scalable extensibility.

12. Frisby.js

frisbyjs
Frisby is a REST API testing framework built on node.js and Jasmine that makes testing API endpoints easy, fast, and fun. Frisby is built on top of the Jasmine BDD framework, and uses the jasmine-node test runner to run spec tests.

13. Coke

coke
COKE is a lightweight node.js MVC framework that speeds up your web development. It’s simple, it’s modularized, it’s somking fast! COKE is built on top of the popular web framework Express, which means you can use all middlewares from Express and Connect directly in COKE. It does not add too many magic, instead it provides a clean and well structured project bootstrap for you.

14. Kiss.js

kissjs
Object-oriented web framework on Node.js, written in CoffeeScript.

15. Express.io

Expressio
Express.io is realtime web framework for Node.js, supports MVC architecture for create web applications.

15 Best jQuery File Upload Plugins

When it comes to developing websites and web applications, we cant get rid of the importance of file upload feature for the sites which allows us to upload file, images, and videos on the websites.
 Creating file upload for a website isn’t arduous task as it can be achieved with bunch of codes and scripts available on various sites.
But with the increasing demand to create user friend interface like
  •  image previews, 
  • size information,
  •  mutli queue uploads, 
  • cropping, 
  • and resizing

 features that’s where jQuery, HTMl5, an Ajax comes in the picture.
Below we have chosen some of the Best jQuery File Upload Plugins that will allow you to easily add file upload feature to your websites and web applications and make your websites more user friendly and beautiful. Following jQuery File Upload plugins offer number of features and usability to upload your components. Enjoy !!

1. Uploadify

uploadify
Uploadify is a jQuery plugin that integrates a fully-customizable multiple file upload utility on your website. It uses a mixture of Javascript, ActionScript, and any server-side language to dynamically create an instance over any DOM element on a page.

2. jQuery HTML5 Uploader

jQuery HTML5 Uploader
jQuery HTML5 Uploader is a lightweight jQuery plugin that lets you to quickly add an upload system a-la-Gmail into your web app. You only need to create a dropbox element (i.e. a div) and jQuery HTML5 Uploader will do the rest. Then you can drag & drop one or more files on the element and the files will be uploaded. It also works with the multiple input file element.

3. Dropzone.js

dropzonejs
Dropzone.js is a light weight JavaScript library for jQuery that turns an HTML element into a dropzone. This means that a user can drag and drop a file onto it, and the file gets uploaded to the server via AJAX. It supports image previews and shows nice progress bars.

4. jQuery File Upload

jQuery File Upload Demo
jQuery File Upload is a File Upload widget with multiple file selection, drag&drop support, progress bars and preview images for jQuery. It supports cross-domain, chunked and resumable file uploads and client-side image resizing. It also works with any server-side platform (PHP, Python, Ruby on Rails, Java, Node.js, Go etc.) that supports standard HTML form file uploads.

5. jQuery Ajax File Uploader

jquery ajax file uploader
jQuery plugin to drag and drop files, including ajax upload andprogress bar. The idea for this plugin is to keep it very simple. Basic javascript / jQuery knowledge is necesary to use this plugin.

6. JSAjaxFileUploader

jsajaxfileupload
JSAjaxFileUploader is a jQuery Plugin with ease of use. Fully customizable with many options. You can have multiple upload forms in a same web page at the same time and user can also select multiple files for upload. Using JSAjaxFileUploader jQuery plugin you can enable large view of the image during file upload to the end user and the image size again is customizable. below are some of the important features of JSAjaxFileUploader jQuery plugin.

7. jQuery Upload File

jQuery Upload File
jQuery Upload File plugin provides multiple file uploads with progress bar.Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.

8. DropArea

droparea
Droparea is a HTML5 drag and drop image file uploader jQuery plug-in and a php script for server-side. Simply drag the image file into the specified area, the image will be automatically uploaded to your server. You can also see the progress of the upload too. It has been tested on Google Chrome and Mozilla Firefox.

9. Plupload

plupload
Allows you to upload files using HTML5 Gears, Silverlight, Flash, BrowserPlus or normal forms, providing some unique features such as upload progress, image resizing and chunked uploads.

10. Lite Uploader

LiteUploader
LiteUploader is a simple and light wait jquery file upload plugin. It is using new HTML 5 to make uploading files an easy task. It also have good inbuilt configuration options.

11. Peak Upload

peakupload
PekeUpload is a best jquery file upload plugins which support single file upload and multiple file upload functionality. which have good customisable Bootstrap Theme, real time Progress Indicators and much more.

12. Multiple File Upload

multiplefile upload
This jQuery Multiple File Upload Plugin ($.MultiFile) is a non-obstrusive plugin for jQuery that helps users easily select multiple files for upload quickly and easily on your server whilst also providing some basic validation functionality to help developers idenfity simple errors, without having to submit the form (ie.: upload files).

13. Closify

closify
Closify is a jQuery based plugin, that simplifies the developers task to create a dynamic image uploader. With closify you can easily create any kind of image convas (cover, profile, or custom banner) with whatever size you define, and intelligently enough the Closify plugin would resize the image according to the size of container you defined with a respect of the image aspect ratio, and then it start to generate a dynamic widget that give you the capability to position/reposition your photo adequately; save the photo with the desired position and submit the position information to the server side for storage; change the photo you have chosen and just delete the selected photo.

14. Flow.js

flowjs
Flow.js is a JavaScript library providing multiple simultaneous, stable and resumable uploads via the HTML5 File API. Library does not require third party dependencies.

15. jQuery File API

fileapi
jQuery.FileAPI is a jQuery plugin for FileAPI (multiupload, image upload, crop, resize and etc.).


Source :
http://www.techgig.com/readnews.php?category=Technology%2F+Skill+News&tgnews_link=http%3A%2F%2Ffeeds.dzone.com%2F~r%2Fdzone%2Ffrontpage%2F~3%2FuiBtkJ6sbyU%2F15_best_jquery_file_upload_plugins.html&tg_type=rss&tgnews_id=51647