Saturday, May 30, 2015

Building native iOS and Android apps with existing JavaScript solutions.

When looking at the existing JavaScript solutions for building native iOS and Android apps, it's a fact that they're powerful and can extremely reduce the amount of application development time. On the other side it's also clear that they come with drawbacks and limitations. It depends heavily on a project's requirements and of course on the developer skills and sensibilities.

App performance and UI responsiveness are the main aspects when it comes to the question of using a JavaScript solution or not (native apps with a single C# code base can be realized with Xamarin). It should be clear that WebView wrapper approaches will never reach native-quality UI performance. So developers should start with a proof of concept when choosing a HTML-based WebView solution: mastering dynamic data and optimizing form controls are non-trivial tasks.

The Mobile App Framework Matrix represents a comparison and documentation of current technologies for building native iOS and Android apps with a single JavaScript code base. Find full article here: Mobile App Framework Matrix


Thursday, May 28, 2015

Google I/O Developer conference 2015.

Google I/O developer conference 2015 unveiled new version Android M. It looks very promising.

As told, there are now over 4,000 apps for Android Wear and designers have created more than 1,500 watch faces. 

There is deeper integration of Google Now into Android. So, Google Now cards will be able to appear everywhere in the phone, ready to be called up within apps or the Web via a feature Google calls "Now on Tap". Will get quick answers to quick ques. Eg: card on a movie/event while sending email.

 With M, the app will download and install without presenting permissions required, but then ask for those permissions at the time it is first looking to take action.

Android Studio Ide is the tool everyone should use for app development.

On testing end, Google is adding a feature into its tools that lets developers run automated tests of their Android code against 20 popular devices at no charge. It builds on last year’s acquisition of Appurify.

Android developers will be able to have their own home page within Google Play and use it to promote a specific app.

And much much  more.. Checkout here on the event details. Or follow them on Twitter #IO15 or Twitter @googledevs

Android M is due out later this year.

Wednesday, May 20, 2015

Looking for HTML, CSS, and JavaScript code editor in your browser?

If you haven't tried CodePen yet. You are missing something really interesting.

CodePen is an HTML, CSS, and JavaScript code editor in your browser with instant previews.

It's a playground for the front end side of the web. It's all about inspiration, education, and sharing.

Need to build a reduced test case to demonstrate and figure out a bug? 

Want to show off your latest creation and get feedback from your peers?

Want to find examples of a particular design pattern for your project? 

CodePen is great to use for all of these situation

Learn Angular.JS through the process of building 10 different projects

What is Angular JS?

Angular.JS is an open source web application framework maintained by Google.

It is a robust client-side technology for building modern web applications using model-view controller (MVC) software architecture. Angular.JS adds more functionality and features to a single-page HTML web application. Today, a lot of developers rely heavily on the MEAN stack (Mongo.DB, Express.JS, Angular.JS and Node.JS) and learning Angular.JS is surely a fruitful investment.

Angular.JS offers a bunch of interesting features, such as asynchronous dependency injection, deep link routing, form validation, two-way data binding and deep linking, to name a few.

Some of the popular applications built using Angular.JS:

Dematerializer (a blogging platform)

PunchPlay (music player application) 

Sendmachine (an email marketing tool) 

Betrend (a fashion portal) 

So, what makes Angular.JS a preferred choice for designing web applications? Let us take a look at some of its prominent features.

Angular.JS uses directives to add new mark-ups to HTML and turns static HTML files in to something dynamic. It is an innovative approach to incorporating HTML and developing big web applications. 

Angular.JS organizes views, controllers, directives, filters and such other elements in to separate modules. This division becomes convenient for building and managing an application. 

Angular.JS has a built-in dependency injection system and is unit-testable. 

Angular.JS uses data-binding directives to provide a projection of the model to the application view. It automates synchronization of data between model and view components. This allows developers to avoid writing a considerable amount of boilerplate code.

Angular.JS has a built-in template engine consisting of plain HTML pages (views) as well as controllers written in JavaScript to build rich user interfaces. 

Angular.JS uses directives to extend HTML dialect by creating new HTML elements and attributes as well as custom HTML tags that work as new widgets.

Today, Angular.JS has a pretty vast scope for mainly two reasons. Firstly, it is maintained and promoted by Google. Secondly, a large community of developers are making valuable contributions by introducing newer features and functionalities to this technology. There is also much scope for experimenting with Angular.JS to test its significance in diverse applications.

By making projects implementing Angular along with some other technologies

• HTML5 / CSS3

• JQuery

• NodeJS / NPM / Node Modules

• Bootstrap

• Foundation

• Facebook API

• Instagram API

• Socket.io

• MongoDB

Following basic projects:

Project 1 – Basic Angular Website: A simple website using dynamic functionality from AngularJS

Project 2 – myContacts Address Book: Small app to manage contacts

Project 3 – Web Template Store: Application that displays web templates for sale

Project 4 – Web Sockets Chat App: Real time chat using web sockets

Project 5 – Angular Facebook App: Facebook authentication and posting app

Project 6 – Knowledgebase: Article database using MongoDB

Project 7 – User Login App: Custom user authentication app

Project 8 – Instagram Gallery: Display images from Instagram

Project 9 – Job Directory: Small job listing site

Project 10 – Concert Finder: Concert/music directory

I have collated the  projects and resource from kick starter initiative. If interested do
Support them. kick starter initiative

Friday, May 15, 2015

A re-introduction to JavaScript (JS tutorial)


Why a re-introduction? Because JavaScript is notorious for being the world's most misunderstood programming language.

It is used by an incredible number of high-profile applications, showing that deeper knowledge of this technology is an important skill for any web or mobile developer. Rekindle your memory with awesomeness of javascript.

Full article available on Mozilla developer Network (MDN)

Thursday, May 14, 2015

Working in the Cloud

Working in the Cloud By Simon Murcott , Solnet Solutions. He specialize in: DevOps, Unix systems, security, scripting, software development, systems integration etc..

He described about, how cloud environments are being used by modern businesses. He also walked us through, what it is like to be a cloud provider and other aspects of working in IT that are not development related. Many options are available for an IT career other than being a developer. He explored the daily life (and differences between) a developer, infrastructure engineer, middleware specialist, integration engineer and product specialist. It was very insightful.

He spoke about :

  • FreeBSD is an advanced computer operating system used to power modern servers, desktops and embedded platforms.
  • OpenStack Open source software for creating private and public clouds. OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure.
  • Mule is a lightweight enterprise service bus (ESB) and integration framework. The platform is Java-based, but can broker interactions between other platforms such as .NET using web services or sockets.
  • Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux. It can be integrated into various infrastructure tools, including Amazon Web Services, Chef, Google Cloud Platform, IBM Bluemix,Microsoft Azure, OpenStack Nova,Puppet, Vagrant etc.
Best way to understand these tools is play around with it. I am gonna start with playing around with AWS. Thanks to the Abletech team for sharing how to deploy static websites to Amazon. Build a static website with AWS.


Wednesday, May 13, 2015

Scrum: What is Agile?

If you ask 10 people to define Agile development and you will receive 11 definitions emphasizing different aspects of the process. I got to hear a talk (Presented by Anthony Boobier (Nomad8)) to clear up the confusion of this buzzwords and shed light onto the fundamentals of Agile software development.

We looked into what problems Agile is trying to solve and dive deep into the reasons why it works. We undertook a brief journey into the history of software development, explore the principles and values behind Agile and then later focused on how to manage our work in an Agile fashion using its most prevalent flavour, Scrum.

Scrum is a development framework in which cross-functional teams develop products or projects in an iterative, incremental manner. It structures development in cycles of work called Sprints. These iterations are no more than four weeks each (the most common is two weeks), and take place one after the other without pause. The Sprints are timeboxed – they end on a specific date whether the work has been completed or not, and are never extended. Usually Scrum Teams choose one Sprint length and use it for all their Sprints until they improve and can use a shorter cycle. At the beginning of each Sprint, a cross-functional Team (of about seven people) selects items (customer requirements) from a prioritized list. The Team agrees on a collective target of what they believe they can deliver by the end of the Sprint, something that is tangible and will be truly “done”. During the Sprint, no new items may be added; Scrum embraces change for the next Sprint, but the current short Sprint is meant to focus on a small, clear, relatively stable goal. Every day the Team gathers briefly to inspect its progress, and adjust the next steps needed to complete the work remaining. At the end of the Sprint, the Team reviews the Sprint with stakeholders, and demonstrates what it has built. People obtain feedback that can be incorporated in the next Sprint. Scrum emphasizes working product at the end of the Sprint that is really “done”; in the case of software, this means a system that is integrated, fully tested, end-user documented, and potentially shippable. Key roles, artifacts, and events are summarized..in the link below: A Lightweight Guide to the Theory and Practice of Scrum


Design Thinking and the design process

Yesterday, 13 May,2015 I got an opportunity to hear from a Design Lead from Optimal Experience PwC..Graham Howe, their best practices in design thinking and design process.

It was all about Research, sketching, wireframes, testing, iterations and prototyping. We tried out mocking pages for a government acc site on how to find levy codes for users. It was an intense workshop. Just in 15 minutes time period, we had so much ideas on the paper. It was just beautiful.


How CSS Work

Are you new to CSS? This article is for you! Perhaps the biggest key to understanding CSS is understanding selectors. Selectors are what allows you to target specific HTML elements and apply style to them. For reading the full article please click the below link.

How CSS Selectors Work

CSS Reference

This CSS Reference lists all standard CSS properties, pseudo-classes and pseudo-elements, @-rules, units, and selectors in alphabetic order. It allows you to quickly access detailed information for each of them. It not only lists the CSS 1 and CSS 2.1 properties, but also is a CSS3 reference that links to any CSS3 property and concept standardized, or already stabilized.