diff --git a/gatsby-config.js b/gatsby-config.js index b8936b7..6f41318 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -87,25 +87,31 @@ module.exports = { }, }, { - resolve: `gatsby-source-filesystem`, + resolve: `gatsby-source-git`, options: { name: `posts`, - path: `${__dirname}/posts/`, - }, + remote: `https://github.com/sachinmjadhav/codebrahma-content.git`, + branch: `master`, + patterns: `posts/**` + } }, { - resolve: `gatsby-source-filesystem`, + resolve: `gatsby-source-git`, options: { name: `solutions`, - path: `${__dirname}/solutions/`, - }, + remote: `https://github.com/sachinmjadhav/codebrahma-content.git`, + branch: `master`, + patterns: `solutions/**` + } }, { - resolve: `gatsby-source-filesystem`, + resolve: `gatsby-source-git`, options: { name: `projects`, - path: `${__dirname}/projects/`, - }, + remote: `https://github.com/sachinmjadhav/codebrahma-content.git`, + branch: `master`, + patterns: `projects/**` + } }, { resolve: 'gatsby-plugin-crisp-chat', diff --git a/package-lock.json b/package-lock.json index 00b3246..3fd0f3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10758,6 +10758,19 @@ } } }, + "gatsby-source-git": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gatsby-source-git/-/gatsby-source-git-1.0.1.tgz", + "integrity": "sha512-1nopUF/9nXu+0f7hwqQrpnwyDRi/EP/pah5L/aar4MhG6u1MxF23EFz8TPNgkm/EaC348Rte9ZEixChBwEYXYA==", + "requires": { + "fast-glob": "^2.2.3", + "fs-extra": "^5.0.0", + "gatsby-source-filesystem": "^2.0.4", + "git-url-parse": "^11.1.1", + "rimraf": "^2.6.2", + "simple-git": "^1.105.0" + } + }, "gatsby-telemetry": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.1.4.tgz", @@ -11286,6 +11299,14 @@ "parse-url": "^5.0.0" } }, + "git-url-parse": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.1.2.tgz", + "integrity": "sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ==", + "requires": { + "git-up": "^4.0.0" + } + }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -18403,6 +18424,14 @@ "simple-concat": "^1.0.0" } }, + "simple-git": { + "version": "1.124.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.124.0.tgz", + "integrity": "sha512-ks9mBoO4ODQy/xGLC8Cc+YDvj/hho/IKgPhi6h5LI/sA+YUdHc3v0DEoHzM29VmulubpGCxMJUSFmyXNsjNMEA==", + "requires": { + "debug": "^4.0.1" + } + }, "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", diff --git a/package.json b/package.json index 0042ba9..24b3ef4 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "gatsby-remark-images": "^3.0.16", "gatsby-remark-prismjs": "^3.2.11", "gatsby-source-filesystem": "^2.0.39", + "gatsby-source-git": "^1.0.1", "gatsby-theme-ui": "^0.1.5", "gatsby-transformer-remark": "^2.4.0", "gatsby-transformer-sharp": "^2.1.21", diff --git a/posts/4-steps-building-cloud-ready-application-architecture/2019-04-05-4-Steps-to-Building-a-Cloud-Ready-Application-Architecture.md b/posts/4-steps-building-cloud-ready-application-architecture/2019-04-05-4-Steps-to-Building-a-Cloud-Ready-Application-Architecture.md deleted file mode 100644 index 1405658..0000000 --- a/posts/4-steps-building-cloud-ready-application-architecture/2019-04-05-4-Steps-to-Building-a-Cloud-Ready-Application-Architecture.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -templateKey: "blog-post" -title: "4 Steps to Building a Cloud-Ready Application Architecture" -date: 2019-04-05 -featuredpost: false -description: >- - Most experts agree that by the year 2020, nearly 83 percent of enterprise workloads will be based in the cloud. In just the past few years, the number of businesses using cloud-based tools has exploded. If your company is in -author: Anand Narayan -link: /4-steps-building-cloud-ready-application-architecture -category: -- Tutorial ---- - -Most experts agree that by the year 2020, nearly [83 percent of enterprise workloads](https://www.forbes.com/sites/louiscolumbus/2018/01/07/83-of-enterprise-workloads-will-be-in-the-cloud-by-2020/#3dd5a6e26261) will be based in the cloud. In just the past few years, the number of businesses using cloud-based tools has exploded. - -If your company is in the business of developing applications for mass consumption, finding a way to make these programs more functional and reliable is a must. Many of the most popular apps on the market have found a way to seamlessly integrate cloud technology into their interface. - -Are you looking for a way to build cloud-ready application architecture? If so, consider the following tips for success. - -![img](./images/cloud-ready-image2.jpg) - -## 1. Work On Making Security Systemic -One of the biggest mistakes app developers make is treating security as an afterthought. Failing to take the security of your app seriously will result in a number of problems in the future. - -When attempting to build a success cloud-ready architecture for your app, be sure to make the security within the program as systemic as possible. The only way to do this is by building security tools to go in the actual architecture instead of using third-party programs. - -When attempting to come up with the right security architecture for your app, be sure to consider the industry it will be operating in. For instance, an app for a healthcare company will need to be HIPAA compliant. Neglecting to consider this important factor will lead to fines and a number of other mishaps along the way. - -## 2. Your App Needs to be a Collection of Services -When developing cloud-based apps, you need to think about making it a collection of services. By doing this, you can make your app more useful for the client. - -Most developers with limited experience in the cloud fail to realize how complex it can be to build these types of programs. Ideally, you want to use loosely coupled applications to avoid issues with user interface and data restrictions. - -By providing clients with a treasure-trove of tools in a particular [cloud-based app](https://www.atlantic.net/cloud-hosting/benefits-cloud-based-applications/), you can keep them coming back for more. As you build more cloud-based programs, you will start to find a groove. This groove will allow you to build and launch new applications in a timely manner. - -## 3. Avoid Chatty Application Components -One of the main reasons why business owners and consumers love cloud-based apps is due to how fast and efficient they are. If you want to ensure your new app is fast, you need to be careful when adding chatty application components. - -These types of components will require constant communication with other parts of the app. While this may sound like a good thing, it can actually slow down your app significantly. The slower your cloud-based app runs, the higher the risk of users uninstalling it will be. - -The best way to catch these performance issues is by adequately monitoring your app’s infrastructure. The tools provided by companies like [AppOptics](https://www.appoptics.com/infrastructure-monitoring) will keep you informed about how well your program is performing. - -![img](./images/cloud-ready-image1.jpg) - -## 4. Create App Architecture That is Easy to Scale -The main goal you should have as an app developer is providing consumers with a product they will love. If your app starts to gain popularity, it will usually get put through the paces. Instead of dealing with outages or crashes, you need to create architecture that is easy to scale. - -By keeping an eye on future growth during the development process, you can keep your program running like a well-oiled machine. - -Take Your Time When Developing New Apps -Rushing through the app development process is a recipe for disaster. Taking your time and testing the app at each stage of development can help you find and fix problems with ease. diff --git a/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image1.jpg b/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image1.jpg deleted file mode 100644 index 5a8d011..0000000 Binary files a/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image1.jpg and /dev/null differ diff --git a/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image2.jpg b/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image2.jpg deleted file mode 100644 index bdded3d..0000000 Binary files a/posts/4-steps-building-cloud-ready-application-architecture/images/cloud-ready-image2.jpg and /dev/null differ diff --git a/posts/4-ux-tips-help-design-first-mobile-app/2017-02-26-4UX-Tips-To-Help-You-Design-Your-First-Mobile-App.md b/posts/4-ux-tips-help-design-first-mobile-app/2017-02-26-4UX-Tips-To-Help-You-Design-Your-First-Mobile-App.md deleted file mode 100644 index 43795f0..0000000 --- a/posts/4-ux-tips-help-design-first-mobile-app/2017-02-26-4UX-Tips-To-Help-You-Design-Your-First-Mobile-App.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -templateKey: 'blog-post' -title: '4 UX Tips To Help You Design Your First Mobile App' -date: 2017-02-26 -featuredpost: false -category: -- General -description: >- - As of June 2016, there were over 2.2 million apps on the Google Play store. Another study published by Google, states that only a fourth of the apps installed on a smartphone are used on a daily basis. Overcoming such -author: Anand Narayan -link: /4-ux-tips-help-design-first-mobile-app -tags: -- mobile app -- product development -- UX design ---- -As of June 2016, there were over 2.2 million apps on the Google Play store. Another study published by Google, states that only a fourth of the apps installed on a smartphone are used on a daily basis. Overcoming such staggering numbers and letting your app shine through will require a good user experience and friendly interface design. Recent advancements in mobile technology and the fierce app competition have taken mobile design to exceptionally high standards. Users have come to expect nothing less either. The ‘MVP does not need to be well designed’ ideology only works when your idea is exceptionally unique and solves the problem 10x better than the current solution. - -Below I share 4 pointers that’ll help you come up with decent UX design for your first mobile app: - -## 1. Start From The Basics -Designing for a mobile is inherently very different from designing for the laptops and bigger screens. Hence putting together an application by reducing the design and content of your website is not a great idea. - -You should ideally start thinking of the mobile app’s UX from the absolute basic. How would you, if you were a user, want the experience to happen. What would be the first screen that you would want to see. Is login an absolute necessity for the user to progress? - -A bottom up thinking will give you some clarity on how the user should ideally flow and this will give you a good starting point while designing the user experience for your mobile app. - -## 2. KPI Based User Design -Mobile applications will be a natural extension to your business, and based on your business objectives, your app should be single mindedly focussed on achieving the business goal. If you are a hotel booking company, the only task your app should focus on is getting a user to book a hotel successfully. - -If you’re a content based company, your KPIs would include the time spent by users on your mobile application. So your app needs to do two things really well – 1. Allow your users to read without any noise 2. Seamlessly lead the user to similar articles that he/she may find useful. - -A good exercise to ensure your first app has a good user experience, is to define the KPIs (key performance indicators) even before you start the design process. Stick to designing features/flows/process that’ll help with meeting the KPIs. - -## 3. Comply with the Platform Standards -Smartphone manufacturers have invested considerable amount of money and time educating users on how the devices work. Certain gestures, swipes and taps are so ingrained in the user’s psyche that designing something new might just confuse them. The gestures are also designed with very specific reasons in mind. For example, the long press in Android is usually implemented to prevent accidental taps. It is also usually implemented for actions that are not required very often. - -The best way to ensure familiarity with your app is to stick to the underlying principles of the platform you’re designing the app for. Interface design, colors and images can be changed to fit your brand. - -A drastic shift from the platform convention might do your app more harm than good. - -## 4. Keep it Insanely Simple -Mobile screens are small. You only have so much real estate to work with. If you try to stuff in features, design elements or heavy amounts of text, you might end up overwhelming the user. Keeping the feature set to a bare essential should be a priority. Using white spaces, clean design principles and well designed icons in place of text can go a long way in making it easier for your user to navigate your app. - -Designing for a simple user experience will also make the app faster (unless you’ve used the wrong tech stack – in which case, we’re there to help). Certain apps come with a quick walk through to help people understand the basics, but if you see the need to put in a proper user guide, a FAQ of sorts, then it’s probably time to hit the drawing board again. - -We hope these pointers help you kickstart your user experience design for your first mobile app, and in the right direction. Keeping a focus on user experience right from the beginning will save you a lot of frustration going forward. It can also be the difference between success and failure! - -Good luck! - -[Oh, and if you’re looking to hire top front end developers for your project, do check us out!](/front-end-development-company) diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/2016-07-12-5Areas-Where-Tooling-Makes-Nodejs-Developers-More-Productive.md b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/2016-07-12-5Areas-Where-Tooling-Makes-Nodejs-Developers-More-Productive.md deleted file mode 100644 index 26a39a7..0000000 --- a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/2016-07-12-5Areas-Where-Tooling-Makes-Nodejs-Developers-More-Productive.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -templateKey: 'blog-post' -title: '5 Areas Where Tooling Makes Node.js Developers More Productive' -date: 2016-07-13 -featuredpost: false -description: >- - Codebrahma Node.js Developers covering five areas of tooling that help Node.js developers:/ IDEs, build tools, transpilation, REST API frameworks. -keywords: -- Node.JS Developers -- Node.JS Development Company -- Hire Node.JS Developers -- Hire Node.JS Programmers -- nodejs programmers -author: Aravindan -link: /5-areas-where-tooling-makes-node-js-developers-more-productive -category: -- Research and Articles -tags: -- node.js -- Node.js Development -- node.js frameworks ---- - - -A host of tools are available to help programmers in their journey of node.js programming. Irrespective of whether you are an expert programmer or a newcomer, these tools will help you create robust, scalable, re-usable code that leads to great applications. Today let us look at some of the areas in which these tools can help you optimize your code. - -## IDE - -Integrated Development Environment is the birth place of great code. A great IDE should act as a one stop shop for all the programmer's needs to produce optimized code. The IDE should also be simple and easy to navigate so that it does not distract the programmer's attention from the code. - -There are a number of IDEs that are doing a great job in providing the right environment to build great applications. One of the most powerful IDEs that is available today is the [Webstorm](https://www.jetbrains.com/webstorm/). It supports most modern frameworks, build tools and a load of plugins to make coding a lot more enjoyable. It is one of those rare products that does not allow you to leave its windows for any reason except to take a look at your browser. - -## Build Tools - -Getting your project ready for release is another task that requires the help of tools. The node.js eco-system provides a good number of tools for this task. Some of the most famous tools for this purpose are Gulp, Grunt, Brunch, or WebPack. - -[Grunt](http://gruntjs.com/) - -Grunt is a task runner that allows you to specify the task to be completed, run it once and then it will take care of the job for you. It is basically a powerhouse that allows you to perform a range of functionalities with minimal code. The grunt js manages to achieve this through the host of plugins. - -![Grunt](./images/grunt.png) - -[Gulp](http://gulpjs.com/) - -Gulp is an easy-to-use streaming build system that is very flexible. Though fundamentally both gulp and grunt perform the task of satisfying programmer needs, the difference lies in the fact that Gulp focuses on writing code while grunt is more focused on writing configuration. - -![gulp](./images/gulp.png) - -## Transpilation - -It is the process of converting source code from one language to another language or another form of the same language. If you have worked with any superset of the javascript or the other languages such as CoffeeScript, ECMAScript 6, JSX etc. you would have faced the need for transpiler. The transpiler basically converts the source code into code that can run smoothly in the latest Node.js environment and in the modern browsers. - -Node.js does not run code of languages such as CoffeeScript directly out of the box. Though there are many transpilers available in the market today, the most powerful tool among them is [BABEL](https://babeljs.io/). It has support for all the latest versions of javascript that you can utilize right now without waiting for browser support. - -## Rest API Frameworks and Services - -The use of frameworks makes the programming a pleasurable process. Though a lot of frameworks are available today, some of the most famous frameworks are time-tested to ensure the best programming experience. The [best frameworks for node.js developers](/9-best-node-js-frameworks-developers) gives you an idea of all the great frameworks that works wonders for developers across the globe. Let us take a look at some of them - -[Express.js](http://expressjs.com/) - -Express.js was built by TJ Holowaychuk, one of the members of core Node project team. A large community backs this framework, therefore it has the advantage of continuous updates and reforms of all the core features. This is a minimalist framework that is used to build a number of mobile applications and APIs. - -![express-js](./images/express-js.png) - -[hapi.js](http://hapijs.com/) - -Hapi is a powerful and robust framework that is used for developing APIs. The well-developed plugin system and various key features such as input validation, configuration-based functionality, implement caching, error handling, logging makes the Hapi one of the most preferred frameworks. - -[Sails.js](http://sailsjs.org/) - -This is yet another MVC framework that has become very popular with Node.js developers. The framework has gained traction through the development of chat applications, dashboards and multi player games. It is most famous for building data-driven APIs. It uses waterline for object related mapping and db solutions. This framework uses Express.js for handling HTTP requests and is built upon Node.js. Its compatibility with Grunt modules, including LESS, SASS, Stylus, CoffeeScript, Jade, Dust makes Sails.js an ideal candidate for browser based applications. - -## Test Frameworks and Tools - -Testing is an integral part of software development life cycle that is essential to ensure the quality of developed product. Code developed on Node.js which is powered by a language such as Javascript has an additional need for thorough automation testing. The most commonly used tools for this purpose are Mocha and Chai. Mocha is a javascript testing framework and chai is a BDD/TDD assertion library. This duo comes into play in the backend testing and has the capacity to perform all types of testing such as unit, integration, functional and smoke. - -![chai](./images/chai.png) - -The frontend testing is generally taken care by karma.js and jasmine. Karma is a JavaScript command line tool that can be used to spawn a web server which loads your application's source code and executes your tests. Jasmine is an open source testing framework for JavaScript. It aims to run on any JavaScript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax. - -![karma](./images/karma.png) - -_Conclusion_: - -These are 5 areas where tooling will really help you a great deal in creating great code. - -If you are already using these tools or if you are going to try them now, Share your thoughts in the comments and we will discuss. \ No newline at end of file diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/chai.png b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/chai.png deleted file mode 100644 index 70dd5e8..0000000 Binary files a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/chai.png and /dev/null differ diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/express-js.png b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/express-js.png deleted file mode 100644 index e7ec6ea..0000000 Binary files a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/express-js.png and /dev/null differ diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/grunt.png b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/grunt.png deleted file mode 100644 index dcfad6c..0000000 Binary files a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/grunt.png and /dev/null differ diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/gulp.png b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/gulp.png deleted file mode 100644 index ae9dfe1..0000000 Binary files a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/gulp.png and /dev/null differ diff --git a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/karma.png b/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/karma.png deleted file mode 100644 index 3fd34eb..0000000 Binary files a/posts/5-areas-where-tooling-makes-node-js-developers-more-productive/images/karma.png and /dev/null differ diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/5-awesome-tools-keep-rails-code-clean-organized.md b/posts/5-awesome-tools-keep-rails-code-clean-organized/5-awesome-tools-keep-rails-code-clean-organized.md deleted file mode 100644 index 1958c26..0000000 --- a/posts/5-awesome-tools-keep-rails-code-clean-organized/5-awesome-tools-keep-rails-code-clean-organized.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -templateKey: 'blog-post' -title: '5 Awesome Tools to Keep Your Rails Code Clean & Organized' -date: 2016-04-29 -featuredpost: false -description: >- - The ruby on rails experts at codebrahma have come up with this list of awesome tools that would help you keep your code clean. -keywords: -- Ruby on Rails Development -- ruby on rails companies -- ruby on rails developers -- hire ruby on rails developers -author: ARAVINDAN -link: /5-awesome-tools-keep-rails-code-clean-organized -category: -- Research and Articles -tags: -- Ruby on rails development -- ruby on rails ---- - -One of the main challenges in developing your own rails application is to keep your rails code clean. The rails experts at codebrahma have come up with this list of awesome tools that would help you keep your code clean and optimized for best results. - -Ruby is an open-source, dynamic, object oriented programming language that is used extensively in the world of web-development. It was developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan. Ruby is one of the most popular programming languages in the world. One of the main reasons for the popularity of ruby is the web application framework written in ruby called Ruby on rails. - -Ruby on Rails or simply Rails is a MVC framework that is used for creating web applications. It was developed by David Heinemeier Hansson from his work on the project management tool called Basecamp. Developing a web application on Ruby on Rails is five to ten times faster than developing the same on any java frameworks. - -## **The Thumb Rule** - -### "Pure code is the code without side effects" - -The fundamental difference between a professional programmer and an amateur coder lies in the quality of the code that they produce. The amateur may be able to produce code that does the job but there are certain aspects of the work of a professional that makes it stand out. The important qualities of a professional's work lies in the 3 R's - -* Re-usability -* Readability -* Robust - -Developing code that posses these qualities requires one simple rule: The code should be clean and organized. - -## **Simple does not mean easy** - -Though the path to creating professional code seems crystal clear and simple, executing the task may not be as easy as it sounds. As the size of the applications grows the task of keeping the code clean becomes tedious. Hours of fruitful labour that can be used in other useful pursuits should be used in order to make the written code organized. This limitation can be overcome with the use of some tools. These tools help in developing code that is optimized, understandable and re-usable - -We at codebrahma recommend the use of these 5 amazing tools to keep your code absolutely clean and organized - -### **Dead Weight** - -Web content by nature is highly dynamic. The content and the design have to be changed from time to time inorder to keep netizens interested and to keep attrition rates down. But a major challenge in creating such an evolving content is the accumulation of unused CSS style sheets over time. Simple as it may seem, eliminating all unused css selectors manually is a daunting task. Dead weight is here to make the job easy for us. Dead weight is a ruby gem that is exclusively designed for the purpose of weeding out unused css selectors. - -This gem helps the developer determine which CSS selectors are seldom used and can be safely removed. All you have to do is provide the set of style sheets and HTML pages to the gem and it will point out which are the css selectors that can be safely deleted. This gem cannot be implemented out of the box in rails as most of the web pages are dynamic in nature. In case you have opted to use pre-compilers such as Sass or Less then compiling all the style sheets and providing them as simple CSS files to the dead weight task is a recommended method to perform this operation. - -### **Ruby Critic** - -One of the newbies in the list of ruby tools, this gem is a combination of statistical analysis gems Reek,Flay and Flog where reek is used to determining smelly code, Flay is used for detecting duplicate code and Flog is used for ABC metrics. It eases the process of viewing your smelly code and refactoring them by creating a nice HTML file. This format of output makes it very user-friendly. - -### **Bullet** - -Another hurdle in the path to creating your amazing rails application is the N+1 query. Let us consider a case where we have a set of student roll numbers and corresponding marks as well in our application. When we reiterate over the marks then we will be running two queries - -* One query to find the roll numbers -* And for each query we will have one query to find the corresponding marks - -Thus if we run 1000 iterations then we will be running 1000+1 queries.This problem can be overcome with the use of include option that allows us to retrieve both roll numbers and the corresponding marks in a single query. The Bullet gem facilitates the solving of the N+1 problem by promptly throwing error messages whenever the code optimization is required. The gem also works out of the box and plays a huge role in creating optimized code - -### **Brakeman** - -In today's world cyber crime is a real threat. Creating secure code that does not have any malicious elements in it is an absolute necessity. The Brakeman is a gem that facilitates the process of making our code secure. It scans the entire application and provides a list of all the vulnerabilities in a neat format.The security warnings are classified according to their severity as high medium and low.This allows the easy navigation and understanding of the issues. The list of various security threats can be found in the [brakeman warning list][1] - -"Vigilance is the price for security" - -Just as all security applications one important disadvantage of Brakeman is that,if there are no warnings from brakeman for your application it does not mean that your application is absolutely vulnerability free. - -![Brakeman screenshot][2] - -![BRAKEMAN GEM][3] - -![BRAKEMAN SCREENSHOT 3][4] - -### **rails_best_practices** - -The rails best practices is the rails code quality analyzer gem. It is used to sniff out code smells that are specific to rails. It offers a lot of suggestions to improve the quality of the code that you create such as use scope access, restrict auto-generated routes, add database indexes, etc. Unfortunately there might be a number of suggestions which might turn out to be false positives but nevertheless it is a great way to keep your code clean and tidy - - ![RAILS BEST PRACTICE GEM][5] - -![RAILS BEST PRACTICE GEM][6] - -## **Conclusion** - -Creating optimized code for large rails applications can be a big challenge even for very experienced programmers. There are many gems present in Rails that can facilitate the process of clean code creation. We at codebrahma recommend these five gems to make great rails code. If you have any suggestions or if there are any gems that you feel should get on to this list go ahead and add it to the comments section. - -[1]: http://brakemanscanner.org/docs/warning_types/ -[2]: ./images/BRAKEMAN-SCREENSHOT-1.png -[3]: ./images/BRAKEMAN-SCREENSHOT-2.png -[4]: ./images/BRAKEMAN-SCREENSHOT-3-1024x373.png -[5]: ./images/RAILS-BP_1.png -[6]: ./images/RAILS-BP_2.png \ No newline at end of file diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-1.png b/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-1.png deleted file mode 100644 index e3f2d31..0000000 Binary files a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-1.png and /dev/null differ diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-2.png b/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-2.png deleted file mode 100644 index 8706fcd..0000000 Binary files a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-2.png and /dev/null differ diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-3-1024x373.png b/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-3-1024x373.png deleted file mode 100644 index 406b325..0000000 Binary files a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/BRAKEMAN-SCREENSHOT-3-1024x373.png and /dev/null differ diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_1.png b/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_1.png deleted file mode 100644 index f5a18a8..0000000 Binary files a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_1.png and /dev/null differ diff --git a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_2.png b/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_2.png deleted file mode 100644 index c217b19..0000000 Binary files a/posts/5-awesome-tools-keep-rails-code-clean-organized/images/RAILS-BP_2.png and /dev/null differ diff --git a/posts/5-must-use-meteor-packages-for-meteor-developers/5-must-use-meteor-packages-for-meteor-developers.md b/posts/5-must-use-meteor-packages-for-meteor-developers/5-must-use-meteor-packages-for-meteor-developers.md deleted file mode 100644 index 870362b..0000000 --- a/posts/5-must-use-meteor-packages-for-meteor-developers/5-must-use-meteor-packages-for-meteor-developers.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -templateKey: 'blog-post' -title: '5 MUST USE METEOR PACKAGES' -date: 2016-02-08 -featuredpost: false -description: >- - List of top Packages every meteor developers should know. Hire Meteor Developers who have built 10+ production level applications. -keywords: -- Meteor development company -- Hire meter developers -- Meteor developers -author: Raviraj Hegde -link: /5-must-use-meteor-packages-for-meteor-developers -category: -- Research and Articles -tags: -- Meteor Development ---- - -Meteor, also known as MeteorJS, is a JavaScript application framework purpose designed to develop platform agnostic web applications. Meteor is written using Node.js and is completely open source. Native web applications are slowly gaining ground; we no longer need to load entire pages when clicking a menu or changing some settings on a page inside a browser. Here in this article, we are trying to list down the packages that every meteor developer should know. - -Meteor has spiked in popularity as more and more developers are going back to the mobile web. As an application framework, Meteor is designed to simplify development of applications. To ease such development, it allows the creation and use of packages: readymade blocks of code that can be imported into your pre-existing code in a modular fashion to add new features. Here, we discuss some of the most useful and popular packages for Meteor. - -1. **SIMPLESCHEMA** - -This is a simple and reactive package that is used for validating schema when building web applications in Meteor. Other packages like _Collection2_ and _AutoForm_ include _SimpleSchema_ to offer a more comprehensive code base and functionality but if you want granular control over your data, this allows data manipulation at the most basic level. - -2. **AUTOFORM** - -This Meteor package comprises UI and other data input components. This allows you to easily create forms to accept user data as input for appropriate processing. _AutoForm_ also enables automatic reactive validation and can perform automatic insert and update events for the same. _AutoForm_ requires the _SimpleSchema_ package to run; if _Collection2_ is already installed, it can also run in cooperation with that. - -3. **PROMISE** - -The okgrow:promise is an API that adds a host of useful functionality to the core Meteor framework. It does so mainly by adding features related to returning Promise properties to various existing functions, thereby expanding their usefulness. _Meteor.promise_, _Meteor.wrapPromise_, _Meteor.wrapAsync_, _HTTP.getPromise_, and ReactivePromise are the additional functionality enabled by this package. This also improves existing _Meteor.subscribe_ with a new property `_readyPromise_` in returned object which resolves when the subscription is ready. - -4. **COLLECTION HOOKS** - -This add-on package extends the use and functionality of the _Mongo.Collection_ by adding before/ after hooks for insert, update, remove, find and findOne. These hooks are platform agnostic and work across clients, servers or a mix. Functionality is maintained even when the client initiates a collection method and it is the server that runs the hook, keeping in accordance to the collection validators (allow/deny). It is a very small but efficient utility that excels at a single job; in this case, it is exposing hooks after the specified objects. This can, in turn, be utilised for denormalization of data, implementing chain deletion procedures, sanitising and securing user input risks, etc. - -5. **COLLECTION-HELPERS ** - -This package automatically arranges for transformations on pre-existing collections by using the transform option in the _Mongo.Collection_ in Meteor. This allows for the creation of simple models with interfaces similar to those of template helpers with extreme ease and convenience by generating user defined "_helpers_" that ease such transformations. - -There are a large number of Meteor packages out there for adding a variety of functionality to your application. Admittedly, there can be no "must use" packages since the choice of packages is mostly determined by the functionality you desire. - -However, from a general and overall perspective, the highlighted packages are the ones that are can be used in a wide variety of scenarios and provide functionality for a great number of applications and not only niche ones. - - \ No newline at end of file diff --git a/posts/5-reasons-to-choose-angularjs-over-jquery/5-reasons-to-choose-angularjs-over-jquery.md b/posts/5-reasons-to-choose-angularjs-over-jquery/5-reasons-to-choose-angularjs-over-jquery.md deleted file mode 100644 index 836e78f..0000000 --- a/posts/5-reasons-to-choose-angularjs-over-jquery/5-reasons-to-choose-angularjs-over-jquery.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -templateKey: 'blog-post' -title: '5 Reasons to Choose AngularJS over jQuery' -date: 2016-01-13 -featuredpost: false -description: >- - AngularJS is a very powerful JavaScript framework, here are 5 reasons to choose AngualrJS over jQuery. Hire Best AngularJS Development Company -keywords: -- AngularJS development company -- angularjs vs jquery -- angularJS over jquery -- choosing angularjs -- why choose AngularJS -author: Raviraj Hegde -link: /5-reasons-to-choose-angularjs-over-jquery -category: -- Research and Articles -tags: -- AngularJS Development -- web application development ---- - -AngularJS is a very powerful JavaScript framework designed and maintained by Google. It is used primarily to develop and run web applications on the client machine. AngularJS is built specifically to overcome the various limitations of existing technologies like HTML, CSS and JavaScript in one seamlessly integrated package. jQuery, on the other hand, is a JavaScript library comprising a modular set of platform agnostic methods for handling various requirements of the dynamic web, such as running calls on AJAX, traversing and selecting DOM elements, parsing animations and transition effects, manipulating page elements etc. It standardize the task of front-end development and user interaction elements. - -![Angular_Tutoria][1] - -AngularJS and jQuery can often be used for the same ends, but which implementation is the best? Here are 5 reasons why AngularJS is the better choice. - -1. **A Complete & Comprehensive Solution** - -AngularJS is a single integrated solution for front-end development. It is all-inclusive in its approach and does not require any external plugins or frameworks to build web applications with. In addition to this, AngularJS features many useful methods and actions that are fast becoming industry standards, partly due to their simplicity and partly due to Google putting their weight behind this product. Some noticeable features offered by AngularJS are REST actions, ability to use MVVM (Model View View-Model) patterns, Data Binding, Dependency Injection, in built templating using HTML and built-in unit testing APIs. - -> [Hire the best AngularJS developers for your project][2] - -2. **Rapid Development Pace** - -AngularJS was designed to overcome the limitations posed by HTML in developing dynamic web applications. As such, it is extremely easy to build AngularJS web applications. In addition to this, AngularJS is free to use and comes replete with complete API documentation, examples and tutorials to guide you during every stage of the front end development process. - -3. **Easily Integrated into Existing Code** - -AngularJS is designed to be used in developing web applications. As such, it integrates efficiently with existing code and processes and can easily communicate between cross platform methods and applications. AngularJS can function with jQuery if the latter is already present during the bootstrapping process. If not, AngularJS contains its own approximation of the jQuery library called jQLite. Further development or modification to the existing code base is kept to a minimum when using AngularJS. - -4. **All of the benefits with none of the drawbacks** - -jQuery is established technology while AngularJS is relatively new. However, AngularJS can do everything that the former can, it is not substantially larger in size or memory requirements and it is far easy to run unit and end-to-end testing on AngularJS web apps. AngularJS applications scale very efficiently and offer no substantial drawbacks over jQuery. - -5. **Unit Testing Ready** - -The entire Angular is connected together by Dependency Injection (DI). DI is used to deal with your controllers and extensions. Since every one of your controllers rely on upon DI to pass it data, Angular's unit tests can usurp DI to perform unit testing by inserting mock information into your controller and measuring the output and behavior. Truth be told, Angular already has a fake HTTP supplier to infuse fake server reactions into controllers. - -This beats the more conventional method of testing web applications by creating individual test pages that conjure one part and after that invoke one component and then interacting with it to see if it works. - -So there you have it; five reasons why AngularJS trounces jQuery in front end development and writing client side applications. Although there are a lot more functions that AngularJS handles better, these alone should be enough to convince you to make the switch to the newer, more agile platform. - -[1]: ./images/Angular_Tutoria.png -[2]: /hire-angularjs-development-company/ diff --git a/posts/5-reasons-to-choose-angularjs-over-jquery/images/Angular_Tutoria.png b/posts/5-reasons-to-choose-angularjs-over-jquery/images/Angular_Tutoria.png deleted file mode 100644 index 8cc52f2..0000000 Binary files a/posts/5-reasons-to-choose-angularjs-over-jquery/images/Angular_Tutoria.png and /dev/null differ diff --git a/posts/6-reasons-to-choose-meteor/6-reasons-to-choose-meteor.md b/posts/6-reasons-to-choose-meteor/6-reasons-to-choose-meteor.md deleted file mode 100644 index 1b3de00..0000000 --- a/posts/6-reasons-to-choose-meteor/6-reasons-to-choose-meteor.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -templateKey: 'blog-post' -title: '6 Reasons to Choose Meteor' -date: 2015-12-28 -featuredpost: false -description: >- - Here are the reasons to choose Meteor Framework. Mеtеоr іѕ a rоbuѕt аnd full-ѕtасk JаvаSсrірt platform fоr dеvеlоріng rеаl-tіmе web and mоbіlе аррlісаtіоnѕ. -keywords: -- why choose Meteor -- Reasons to choose Meteor -- Features of Meteor -- Meteor Development -author: Raviraj Hegde -link: /6-reasons-to-choose-meteor -category: -- Research and Articles -tags: -- Meteor Development -- Node.js Development ---- - -As a popular client-side scripting language, JаvаSсrірt іѕ currently being uѕеd bу almost аll wеbѕіtеѕ. At the ѕаmе tіmе, іt is аlѕо being used bу dеvеlореrѕ, along with HTML5 and CSS3, fоr development оf cross-platform mоbіlе аррѕ. However, Meteor іѕ considered tо stand out. - -Meteor's open source framework еnаblеѕ рrоgrаmmеrѕ to сrеаtе web аррlісаtіоnѕ and mоbіlе аррѕ using JavaScript. The unified Isobuild ѕуѕtеm рrоvіdеd bу Meteor makes іt еаѕіеr to write the соdе оnсе, and run іt оn both wеb browsers and mоbіlе dеvісеѕ. The cloud platform provided by Meteor саn еаѕіlу be uѕеd to deploy, mоnіtоr and ѕсаlе the Connected Client аррlісаtіоnѕ. - -### Why choose Mеtеоr? - -Presently, Mеtеоr іѕ a rоbuѕt and full-ѕtасk JаvаSсrірt platform fоr developing rеаl-tіmе web and mоbіlе аррlісаtіоnѕ. It is built оn tор оf Nоdе.jѕ. Some other JavaScript frameworks аrе аlѕо quite powerful but they аrе nоt better than Mеtеоr and we will outline five rеаѕоnѕ why уоu should choose Mеtеоr. - -**Full-Stack Sоlutіоn** - -Mеtеоr оffеrѕ a full-ѕtасk solution fоr developing and dерlоуіng wеb аррlісаtіоnѕ. Mеtеоr comes bundled wіth ѕеvеrаl built-іn features, ѕuсh as rеасtіvе tеmрlаtеѕ, automatic CSS and JS mіnіfісаtіоn on the production ѕеrvеr and hоt соdе rеlоаd. Itѕ cloud platform, Gаlаxу, іѕ ԛuіtе powerful fоr deploying, scaling аnd monitoring client аррlісаtіоnѕ. It аlѕо offers useful client-side technologies, including templates, hеlреrѕ and events. - - -![meteor_framework \(1\)][1] - - -**Development Ecosystem** - -Meteor is mоrе than a JаvаSсrірt development framework. It іѕ an ореn-ѕоurсе Iѕоmоrрhіс Dеvеlорmеnt Eсоѕуѕtеm (IDevE). Mеtеоr аllоwѕ building real-time wеb applications from scratch. It contains all the necessary front-end and bасk-end components (ѕuсh as frameworks, libraries, configuration tools, databases and mоrе) that аіd dеvеlореrѕ through the entire арр development life cycle, right from setup and development tо deployment. - -**Database Intеgrаtіоn** - -Thе Meteor ecosystem offers MongoDB dаtаbаѕе аѕ well as a frоnt-еnd rерrеѕеntаtіоn of MоngоDB called MiniMongo. Mеtеоr hаѕ a MongonAPI which ѕеаmlеѕѕlу іntеgrаtеѕ MоngоDB on thе back-end and Mіnіmоngо оn the frоnt-еnd. Thіѕ rеѕult іn faster page updates thus mitigating lаtеnсу. - -**Custom Package Manager** - -Meteor hаѕ іtѕ own сuѕtоm Pасkаgе Mаnаgеr which features thе necessary NPM funсtіоnаlіtіеѕ аnd ѕоmе additional funсtіоnаlіtіеѕ. Mеtеоr'ѕ оffісіаl rероѕіtоrу of Meteor packages named аѕ аtmоѕрhеrе.jѕ fеаturеѕ mоrе thаn 2,600 smart расkаgеѕ. Mеtеоr has a buіlt-іn расkаgе to hаndlе pre-processing аnd сuѕtоm uѕеr аuthеntісаtіоn fоr Email, Facebook, Twіttеr, Gооglе аnd mоrе. Mоrеоvеr, іt аlѕо соmеѕ wіth requisite расkаgеѕ for рорulаr frаmеwоrkѕ lіkе Bасkbоnе.jѕ, Bооtѕtrар аnd jQuеrу. - -**Front-end Solution** - -Mеtеоr оffеrѕ іѕоmоrрhіс APIs that соmmunісаtе between front-end and bасk-еnd. Thіѕ allows developers tо hаndlе сlіеnt-ѕеrvеr mаnаgеmеnt and server-session management with еаѕе. Dаtа соmmunісаtіоn bеtwееn сlіеnt аnd ѕеrvеr hарреnѕ automatically wіthоut hаvіng tо write аnу bоіlеrрlаtе code. - -**Meteor uses DDP** - -DDP is like 'REST for websockets': a simple protocol for fetching structured data from a server and receiving live updates when data changes. - -**Radically Less Code** - -Meteor allows you to accomplish in 10 lines what would otherwise take 1000, thanks to a reactive programming model that extends all the way from the database to the user's screen. - -Wіth so mаnу exciting features іn іtѕ kіt, Mеtеоr is soon tо bесоmе аn ideal JаvаSсrірt dеvеlорmеnt platform. Moreover, іt is bасkеd and fundеd by a vast соmmunіtу of developers who аrе соmmіttеd tо іmрrоvе the Meteor funсtіоnаlіtу and fеаturеѕ fоr optimizing іtѕ performance. Alоng wіth it уоu саn аlѕо find a meteor dеvеlорmеnt company that рrоvіdеѕ уоu platform tо lеаrn Meteor. - -[1]: ./images/meteor_framework-1.png diff --git a/posts/6-reasons-to-choose-meteor/images/meteor_framework-1.png b/posts/6-reasons-to-choose-meteor/images/meteor_framework-1.png deleted file mode 100644 index 39b0d2b..0000000 Binary files a/posts/6-reasons-to-choose-meteor/images/meteor_framework-1.png and /dev/null differ diff --git a/posts/7-practices-to-follow-when-you-offshore-development/7-practices-to-follow-when-you-offshore-development.md b/posts/7-practices-to-follow-when-you-offshore-development/7-practices-to-follow-when-you-offshore-development.md deleted file mode 100644 index fec25a8..0000000 --- a/posts/7-practices-to-follow-when-you-offshore-development/7-practices-to-follow-when-you-offshore-development.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -templateKey: 'blog-post' -title: '7 practices to follow when you offshore development' -date: 2013-06-19 -featuredpost: false -description: >- - Learn what key factors to consider before hiring an offshore web development partner. Codebrahma is an offshore web application development firm. -author: Anand Narayan -link: /7-practices-to-follow-when-you-offshore-development -category: -- Research and Articles -tags: -- web application development ---- - - -Clients tend to feel concerned when they offshore their development. They worry if the dev team will align with their thought process. Here are a few methods to have a very efficient offshoring process. - -### Stand up calls - -Have Stand up skype calls in the morning. Talk about the progress made the previous day, and clear questions/clarifications if any. Make sure you get a brief about what your development team is going to be working on today. - -Just make sure that it does not become a mere ritual of snoozing off reminders. The more you interface, the lesser you have to test / re-do later. - -### Project Management Tool - -Have a project management tool like Pivotal Tracker, where you **_write_** down all your user stories. Having your user stories written down in one place is very critical. This is the one sacrosanct document. Everyone refers to this and basis their work on what is written here. - -Tip: Add your attachments to your user stories. If you want your banner changed. Add the new banner here. If there are a lot of files, share the link to the Dropbox folder here. - -Instead of debating on a tool, pick just any that your development team is comfortable with. The best way to manage a project is to avoid emails. Unstructured communication without trace-ability is what you are signing up for with email-led project management. - -### Give Feedback - -The **_Agile_** methodology of software development is all about **_Feedback_** . As the project flows, you tend to communicate your concerns and modify/add requirements during the Stand up calls. Make sure that you add the changes to the project management tool. Remember that is the sacrosacnt document. I would encourage you to add/clear doubts as comments on the user stories. This establishes the thought process on that user story throughout the team. This gives more flexibility to the development team, as no one will miss the context or progress. - -Your app development team may not always be the one who leads the product development activity (let's say you get funded and you can now build your own team!). Context of what decisions were made, will go a long way to avoid handover disruptions. - -### Bring a story to closure / Delivery and Review - -The status of every user story should be available in your project managment tool. Typically the user stories go through the following phashes - -Started -> Finished -> Delivered -> Accepted/Rejected - -Accept or Reject a story within a day after it has been pushed to you. This keeps the developer from building on top of a rejected story and helps instant re-prioritization. - -The first step in any project is to GET YOUR STAGING SERVER READY. This enables you to visualize the development of your project. - -Review daily. Review as soon as your developer delivers a user story. The quicker you review the user stories, the quicker your project is delivered. - -### Create a sense of urgency and importance around deadlines - -If you don't have a launch date in mind and there is nothing that's show-stopping if you don't get it out on a set date, you are inviting procrastination. Set an external / uncontrollable deadline and communicate that you've vested to that deadline. It gets you and the team to the discipline of launching. - -While time estimates in software development are never accurate, let that not be an excuse to not ship. Just as you launch your customers may lead you to what they want (which could be different from what you built). So be pragmatic. Launch fast. Escape the guilt of 'perfecting as a way of avoid customer scrutiny!' - -### Quality - -Optimize for quality very early. If you understand code,review code regularly in the early stages. Give feedback on the coding style, the way the functions are named, the tabspaces. Is the code test driven? Developers spend more time fixing and optimizing code than writing it afresh. When you have found success with your early iterations and are moving towards a stable product, invest in engineering scalability – Test Driven Development is one of first initiatives you'd have to adopt! - -Building a product is not a discrete one step activity as many entrepreneurs who outsourced, think it to be. It's just the beginning of a long conversation with your customer base and the interaction would put your product to harsh usage that you have not planned for. So before you outsource, think beyond the first release. Think about continuous investment in engineering and build capacity to manage that process! - -What process did you follow when you offshored? What worked for you and what didnt? Leave a comment - -If you are looking for [AngularJS Development Company][1], just send us a mail and we will take it forward. - -[1]: /angularjs-development-company - - \ No newline at end of file diff --git a/posts/7-reasons-to-choose-react-native-for-development/7-reasons-to-choose-react-native-for-development.md b/posts/7-reasons-to-choose-react-native-for-development/7-reasons-to-choose-react-native-for-development.md deleted file mode 100644 index e2370c1..0000000 --- a/posts/7-reasons-to-choose-react-native-for-development/7-reasons-to-choose-react-native-for-development.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -templateKey: 'blog-post' -title: '7 Reasons Why React Native is the Future' -date: 2016-03-28 -featuredpost: false -description: >- - With the world of mobile, mainly split into two operating systems, developing apps that run for both the operating systems is a tedious process. So Facebook has launched React Native, a platform that helps developers reuse the code that was -keywords: -- Why React native -- React native development -- Reactjs development -- Reactjs experts -- Reactjs development company -- Reactjs hackers -author: Raviraj Hegde -link: /7-reasons-to-choose-react-native-for-development -category: -- Research and Articles -tags: -- React -- react native -- React js development company -- Reactjs Developers -- Reactjs experts ---- - -With the world of mobile, mainly split into two operating systems, developing apps that run for both the operating systems is a tedious process. So Facebook has launched React Native, a platform that helps developers reuse the code that was developed for either Android or IOS on the other platform as well without having to start coding apps right from scratch. - -Let's look at some reasons that point towards React Native taking the centre stage in the future. - -1. **Covers major mobile Operating Systems** - -React native has the major drawback covered i.e. developing apps for two different platforms without have to start coding right from beginning. It allows developers to use the same code for developing apps on other platforms as well. - -2. **Can reuse code that is already written** - -This is the most remarkable feature of react native, as it can save developers a lot of time and efforts. Reusing a code can help developers focus more on providing its users with better user interface and new applications. - -3. **Efficiency** - -React is known to be effective in providing agility, speed and an overall good user experience. It uses the ReactJS framework to provide native experience to its users. - -4. **It is compatible with third party plugins** - -With React Native, you can integrate third party apps in your app. It means, you can use the functionality of other native apps of the device in react native and vice versa. - -5. **Easy to use** - -The level of difficulty with ReactJS is much less when compared to other options available. If you are good at javascript then learning to code with React Native is an easy task. - -6. **Popular Javascript Framework among programmers** - -It uses ReactJS framework, a framework that was developed by facebook in 2013 and by now is already famous among developers. Its ease of learning and popularity makes Native a hope for the future of app development - -7. **Focused on User interface** - -React Native is more focused on user interface unlike AngularJs and MeteroJS. It gives users a highly responsive interface with the help of asynchronous Javascript interactions between React Native and the Native environment of the device. This inturn increases the app's load time and keeps it running smoothly without interruptions. - -So you can get started with using React Native as your platform for app development and create your first app for both Android and IOS devices with ease. The tutorials for it are made available on facebook's react native page on Github. - -PS: If you are looking for [React Native Developers][1], then do contact us - -[1]: /react-js-development/ - diff --git a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/7-reasons-to-choose-spree-commerce-for-ecommerce-development.md b/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/7-reasons-to-choose-spree-commerce-for-ecommerce-development.md deleted file mode 100644 index 1e3c5aa..0000000 --- a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/7-reasons-to-choose-spree-commerce-for-ecommerce-development.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -templateKey: 'blog-post' -title: '7 Reasons to Choose Spree Commerce' -date: 2015-12-04 -featuredpost: false -description: >- - Choosing right technology for your e commerce startup is the key to success. Explaining why Spree Commerce will be the best Ecommerce platform of choice. -keywords: -- Spree commerce -- Ecommerce platform -- Choosing spree commerce -author: Raviraj Hegde -link: /7-reasons-to-choose-spree-commerce-for-ecommerce-development -category: -- Research and Articles -tags: -- Rails Ecommerce Development -- Ruby on rails development -- spree commerce ---- - - -Setting up an e-commerce venture is a difficult and challenging. In addition to the business agenda, you also have to consider design, development, hosting, a content management system, a robust backend and the user experience. Juggling all of these facets is certainly not easy, but some of them can be simplified with a development framework like Spree commerce. Spree is an open source e-commerce and web application framework based on Ruby on Rails. In a market crowded with software with very similar features, here are seven reasons why Spree trounces its competition hands down. - -![spree-commerce][1] -**RAPID DEVELOPMENT** - -Spree commerce implementation covers all the core functionalities of the e-commerce platform. A developer can just build the website by adding spree commerce to the project. Spree comes with far more supported payment gateways and language modules right out of the box. Spree also has lot of free extensions which supports additional features like blogging, multi-domain support and etc. - -**SUBSET OF RUBY ON RAILS** - -Spree is written in Ruby on Rails, itself a very popular and stable open source development platform. This also ensures that extensions and ancillary code written in Ruby on Rails also work well with Spree with very little additional shoehorning. You benefit from both the Spree community and the wider Ruby on Rails community. - -**CUSTOMISATION** - -Spree is backed up by a plethora of extensions, both official as well as those written by the wide community who use and continue to develop Spree. Being based on Ruby on Rails, integrating these extensions while development will allow you to access the variety of community developed tools written for Ruby on Rails. You can rest assured that your venture will look exactly as you want it to, thanks to the intense customizability that Spree affords. - -![shopping-cart-1080841_1920 \(1\)][3] - -**MOBILE READY** - -Spree has been widely tested for compatibility on mobile devices and it has certainly passed with flying colours. It is very easy to implement responsive design elements and optimise the site on small handheld devices using Spree. Considering that mobile devices also have limited processing power, sites designed using Spree also fare better on usability and battery consumption than those that are designed otherwise. - -**RICH DOCUMENTATION AND COMMUNITY SUPPORT** - -Spree Commerce maintains a variety of in-depth user guides that help new developers and companies work with. Implementing Spree in their websites can be performed with minimal effort and resource utilisation. The broader Spree community also ensures that any doubts or question you have do not go unaddressed. - -**RELIABILITY** - -Spree is open source software, meaning that it has a large public body of users that continue to maintain and develop the software. In addition to being written in Ruby on Rails, which is a very popular and stable platform, the open source nature ensures that any bugs that are found are fixed immediately and new features are constantly added and tested before being rolled out to the general public. Just to showcase actual figures, Spree has been downloaded 349,067 times as of June 3rd, 2015. - -**SCALABILITY** - -Spree is an extremely robust framework and is capable of handling huge amount of traffic. Several industry standard benchmarks using NewRelic or Google Analytics show in a standard volume-testing scenario, which simulates a large number of users simultaneously accessing the website, response time does not increase by any significant margin. Spree is capable of handling large amounts of traffic better than most paid development solutions. - - -In conclusion, we would like to recommend you the team of professional Ruby on Rails developers that focuses on creating robust and efficient e-commerce systems. Codebrahma team has already implemented and launched several successful e-commerce projects. Whether you are an e-commerce beginner or a large-scale businessman, you will get a cost-effective solution for your budget. Be smart, use Spree Commerce and boost your sales to space. - -[1]: ./images/spree-commerce.jpg -[3]: ./images/shopping-cart-1080841_1920-1-1024x681.jpg - \ No newline at end of file diff --git a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/shopping-cart-1080841_1920-1-1024x681.jpg b/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/shopping-cart-1080841_1920-1-1024x681.jpg deleted file mode 100644 index 13b63f5..0000000 Binary files a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/shopping-cart-1080841_1920-1-1024x681.jpg and /dev/null differ diff --git a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/spree-commerce.jpg b/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/spree-commerce.jpg deleted file mode 100644 index d216b7b..0000000 Binary files a/posts/7-reasons-to-choose-spree-commerce-for-ecommerce-development/images/spree-commerce.jpg and /dev/null differ diff --git a/posts/9-best-node-js-frameworks-developers/2016-06-26-9Best-NodeJS-Frameworks-for-Developers.md b/posts/9-best-node-js-frameworks-developers/2016-06-26-9Best-NodeJS-Frameworks-for-Developers.md deleted file mode 100644 index 93439d0..0000000 --- a/posts/9-best-node-js-frameworks-developers/2016-06-26-9Best-NodeJS-Frameworks-for-Developers.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -templateKey: 'blog-post' -title: '9 Best NodeJS Frameworks for Developers' -date: 2016-06-26 -featuredpost: false -description: >- - NodeJS provides one of the most innovative solutions to building web servers. These best frameworks speed up your web application development. -keywords: -- NodeJS Development Company -- NodeJS Developers fo hire -- Hire NodeJS Developers -- Node Development Company -link: /9-best-node-js-frameworks-developers -author: Aravindan -category: -- Research and Articles -tags: -- Node.js development -- Nodejs Projects -- web application development ---- - -Node.js is an open-source, cross-platform runtime environment built on Chrome's V8 javascript engine. It is used to build fast, scalable server-side web applications. The event-driven, non-blocking I/O model makes Node.js lightweight and efficient. These features have motivated a lot of developers to adopt Node.js. Today, let us see the list of 9 best Node.js frameworks for developers. - -### BEST NODEJS FRAMEWORKS - -[Hapi.js](http://hapijs.com/) - -Hapi is a powerful and robust framework that is used for developing APIs. It was first introduced by Eran Hammer 2011 at Walmart while trying to handle the traffic on black Friday. The well-developed plugin system and various key features such as input validation, configuration-based functionality, implement caching, error handling, logging and more makes the Hapi one of the most preferred frameworks. It is used for building useful applications and providing technology solutions by several large-scale websites such as PayPal, Disney. - -[Express.js](http://expressjs.com/) - -Express.js was built by TJ Holowaychuk, one of the members of core Node project team. A large community backs this framework, therefore it has the advantage of continuous updates and reforms of all the core features. This is a minimalist framework that is used to build a number of mobile applications and APIs. - -[Socket.io](http://socket.io/) - -It is used for building real time web applications. Its a Javascript library that allows the bidirectional data flow between the web client and server. Asynchronous data I/O, binary streaming, instant messaging are some of the most important features of this framework. - -[Koa.js](http://koajs.com/) - -Introduced in 2013, this futuristic framework is used to make the process of writing web applications and REST apis more enjoyable. It is basically an expressive middleware for Node.js that uses generators. The limited use of callbacks makes the generators a more effective methodology of error mitigation. - -[Meteor.js](https://www.meteor.com/) - -One of the most used frameworks in the Node.js world. Backed by a huge community of developers, tutorials, custom packages and documentation, this framework is used to create some great web and mobile applications for only Javascript only. - -[Mojito](https://github.com/yahoo/mojito) - -Yahoo!cocktail is a mobile development platform. Mojito is a framework loosely based on the Yahoo!cocktail. Since the Yahoo!cocktail is completely written in javascript, the mojito can run both on the server side as well as client side. Mojito is an MVC (model-view-controller) framework having a host of features. - -[Derby](http://derbyjs.com/) - -This is an MVC framework that is used for creating real-time mobile and web applications. Derby's Racer, a real-time data synchronization engine for Node.js allows multi-site, real-time concurrency and data synchronization across clients and servers. The racer optimizes conflict resolution and allows real time editing of the application by leveraging the ShareJS. - -[Sails.js](http://sailsjs.org/) - -This is yet another MVC framework that has become very popular with Node.js developers. The framework has gained traction through the development of chat applications, dashboards and multi player games. It is most famous for building data-driven APIs. It uses waterline for object related mapping and db solutions. This framework uses Express.js for handling HTTP requests and is built upon Node.js. Its compatibility with Grunt modules, including LESS, SASS, Stylus, CoffeeScript, Jade, Dust makes Sails.js an ideal candidate for browser based applications. - -[Total.js](https://www.totaljs.com/?language=en) - -Total.js is a modern and modular Node.js supporting the MVC architecture. Angular.js, Polymer, Backbone.js, Bootstrap and more client-side frameworks are fully compatible with this framework. This framework is totally extensible and asynchronous. The fact that it does not require any tools such as Grunt to compress makes it easy to use. It also has NoSql embedded in it and supports array and other prototypes. - -**Conclusion** - -The internet age is the time of rapid changes and development. Every day the applications that are developed are becoming more advanced. Each and every framework on this list have different features and are suitable for different kind of applications. Node.js is influencing the development of advanced applications and this list gives you the comprehensive list of the most popular frameworks that are used by developers. - -Do you think any other framework needs to be added to the list? Go ahead and add them to the comments and we can discuss. diff --git a/posts/ReactJS+Development+productivity/2017-10-22-Atom-setup-to-improve-reactJS-development-productivity.md b/posts/ReactJS+Development+productivity/2017-10-22-Atom-setup-to-improve-reactJS-development-productivity.md deleted file mode 100644 index ec9fc1c..0000000 --- a/posts/ReactJS+Development+productivity/2017-10-22-Atom-setup-to-improve-reactJS-development-productivity.md +++ /dev/null @@ -1,152 +0,0 @@ ---- -templateKey: blog-post -title: Atom setup to improve reactJS development productivity -date: 2017-10-22 -description: >- - Whether you are a coder who specializes in ReactJS development services, AngularJS development services, or React native Development services this atom editor setup is sure to drastically improve your productivity.     This list is divided into two sections Utlities -featuredpost: false -featuredimage: /img/flavor_wheel.jpg -author: Prasanna -link: /ReactJS+Development+productivity -category: -- Development -tags: -- react js -- reactjs ---- -Whether you are a coder who specializes in ReactJS development services, AngularJS development services, or React native Development services this atom editor setup is sure to drastically improve your productivity. - - ![image](./images/1508558233_tmp_images__1_.jpg) - -_This list is divided into two sections Utlities and ReactJS Development specific packages:_ - - -# Utilities: - - ![image](./images/1508647118_tmp_3.jpg) - -## (1) Atom-transposee3 - -Atom’s alt+t (transpose) is like a string flip. Sublime’s would switch two selected strings one with another, which is a much more useful behavior. - -## (2) Case-keep-replace - -With this package you can replace given string with another while preserving its original case. - -## (3) Change-case - -A quick way to change the case of your current selection. From camelCase to snake_case etc. - -## (4) Copy-path - -Copy a file path flexibly. - -## (5) Duplicate-line-or-selection - -It duplicates the selection if there is one, otherwise, duplicates the line. - -## (6) Editorconfig - -It helps developers maintain consistent coding styles between different editors - -## (7) Git-plus - -It makes commits and other git things without the terminal - -## (8) Highlight-selected - -Just double click on a word to highlight it throughout the open file. - -## (9) Local-history - -It is a package for maintaining local history of files . - -## (10) Project-manager - -It helps you get easy access to all your projects and manage them with project specific settings and options. - -## (11) Related - -Related provides a quick way to access files that are “related” to the file currently opened. For example, switching between .js and .spec.js files. - -## (12) Set-syntax - -It will creates easy Command Palette entries for setting the syntax of the current file. - -## (13) Sort-lines - -It will sort and remove duplicated lines. - -## (14) Tab-foldername-index - -The plugin replaces tab’s title if the index is opene.* file for more readability - -## (15) Sync-settings - -It will synchronize settings,user styles,keymaps, snippets, init script and installed packages across Atom instances. I back up all my settings to Gist and sync between work/personal computers. - -## (16) Toggle-quotes - -Toggle a single-quoted string to a double-quoted string (and ticks ` in JS!) - -# _HTML/CSS/JS/React Specific Packages:_ -These packages are specific for ReactJS development , HTML, and CSS. -![image](./images/1508642504_tmp_atom-icon.jpg) -## (1) Atom-ternjs - -JavaScript code intelligence for atom with Tern. Adds support for ES5, ES6, ES7, Node.js, jQuery, Angular and more. Extendable via plugins. Uses suggestion provider by autocomplete-plus. - -## (2) Atom-wrap-in-tag - -It wraps tags around a selection - -## (3) Autoclose-html - -It will automatically add closing tags when opening tag is completed. - -## (4) Autocomplete-modules - -With this package autocomplete for require and import statements. - -## (6) Docblockr - -Helps write documentation faster. - -## (7) Emmet - -A plugin which will greatly improves your HTML & CSS workflow and help your ReactJS development projects. - -## (8) es6-javascript - -A collection of commands and ES6 focused snippets for optimizing modern Javascript development productivity. - -## (9) Pigments - -A package to display colors in project and files. - -## (10) Linter-eslint - -This linter plugin for Linter provides an interface to eslint. It can be used with files that have the “JavaScript” syntax. - -## (11) Tree-view-copy-relative-path - -It allows you to copy relative path to file from tree view. - -## (12) Lodash-snippets - -Some snippets to quickly use Lo-Dash Library in Atom. - -## (13) Language-babel - -JavaScript ES201x, React JSX, Flow and GraphQL Grammar. Babel Transpiler - -## (14) React-es7-snippets - -React ES7 snippets for atom - -## (15) Atom-jest-snippets - -Snippets for Jest testing framework - -_Looking to hire a [ReactJS services company ?](/)_ - diff --git a/posts/ReactJS+Development+productivity/images/1508558233_tmp_images__1_.jpg b/posts/ReactJS+Development+productivity/images/1508558233_tmp_images__1_.jpg deleted file mode 100644 index 2c87ead..0000000 Binary files a/posts/ReactJS+Development+productivity/images/1508558233_tmp_images__1_.jpg and /dev/null differ diff --git a/posts/ReactJS+Development+productivity/images/1508642504_tmp_atom-icon.jpg b/posts/ReactJS+Development+productivity/images/1508642504_tmp_atom-icon.jpg deleted file mode 100644 index d596f8f..0000000 Binary files a/posts/ReactJS+Development+productivity/images/1508642504_tmp_atom-icon.jpg and /dev/null differ diff --git a/posts/ReactJS+Development+productivity/images/1508647118_tmp_3.jpg b/posts/ReactJS+Development+productivity/images/1508647118_tmp_3.jpg deleted file mode 100644 index a72bd97..0000000 Binary files a/posts/ReactJS+Development+productivity/images/1508647118_tmp_3.jpg and /dev/null differ diff --git a/posts/adobe-xd-vs-sketch/adobe-xd-vs-sketch.md b/posts/adobe-xd-vs-sketch/adobe-xd-vs-sketch.md deleted file mode 100644 index 3f33b64..0000000 --- a/posts/adobe-xd-vs-sketch/adobe-xd-vs-sketch.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Adobe XD vs Sketch' -date: 2016-06-23 -featuredpost: false -description: >- - Everything you need to know about the all new adobe XD and how it can help you with your designing project. Quick overview of Adobe XD vs Sketch. -keywords: -- adobe xd vs sketch -- adobe experience design -- adobe xd -- sketch -- UI development -link: /adobe-xd-vs-sketch -category: -- Development -author: ARAVINDAN -tags: -- adobe xd -- sketch -- UI design tools ---- - -In today's digital age, customer acquisition is the key factor for the success of any business. The experience of the user when visiting the website of your business determines whether you have a continued association with the customer. A lot of companies today are investing quite a bit into designing the user interface. As developers, our most important aid in determining user experience is the user experience design tool that we choose. - -Until recent times the UI design tool market was dominated by two giants, the photoshop and the sketch. Since the photoshop is not a tool that was originally designed for UI development, sketch always seemed to lead the way. Last year adobe decided to put an end to this lag by announcing, '[the project comet][1]'. In march, this year adobe launched the [demo][2] of this product with a new name, 'Adobe experience designer' or Adobe XD. - -## Say Hello to Adobe XD - - -Adobe XD is promoted as the first all in one tool for UI developers. The journey from wireframes to interactive prototypes has been made immensely simple with this tool. Adobe XD it enjoys the unfair advantage of seamless integration with Photoshop and integrator. The Photoshop and integrator are the most common design tools currently used by all designers, thereby giving the adobe xd a huge advantage in terms of customer familiarity and preference. - -## What's so cool about the Adobe xd? - -### Seamless integration with your photoshop. - -As already mentioned, the seamless integration with photoshop and illustrator remains as the biggest advantage of this software. The integration is so simple that you can directly copy paste your photoshop cc and illustrator cc assets in HQ - -### Video Walkthrough - -Creating an amazing UI is just the beginning of creating great user experience. Conveying the features of your design to the stakeholders is equally important. Adobe xd allows you to record a .mov file as you move through the various steps in your preview. This video can be shared with your team and stakeholders for more effective communication. - -### In-App Prototyping - -The general market has provided a positive feedback for adobe xd so far. The well designed, easy to use interface is making the adobe xd a worthy opponent for the acclaimed sketch. The ability to toggle between development and prototyping without leaving the application is a great advantage for adobe xd. This particular feature in adobe xd is going to make the product standout in terms of ease of use for the designers. - -### Prototyping becomes more fun - -Once the designing phase of your application is done,it's time for prototyping. The prototype of your design allows you to practically demonstrate the power of your design to all the developers and the stakeholders. Adobe xd has brought in a new life to the prototyping process. Small changes made to the prototyping process has made it much more fun to deal with. - -For example, Once we design all the individual pages of our web app, we will need to connect the pages in the way that we want the end-user to access it. The adobe xd allows us to connect one page to another by simply dragging a curvy arrow across the artboard, connecting the source page to target page. - -![AdobeXD_hero][3] - -### Bid adieu to copy paste - -The new 'Repeat grid' feature saves the developers the pain of copy pasting. In previous years whenever the application had repeated elements such as boxes, the elements had to be copy pasted while carefully preserving the spacing between the items. Those days are gone. The adobe xd allows the developer to repeat the elements using the repeat grid. - -### Keep it simple stupid! - -The simplicity of new UI of adobe xd is one of its greatest strengths. The simple greyscale UI with its minimalist icons makes the designing process simpler and effective. This fundamental difference would give the adobe xd a big mileage in the competitive market. - -## So what's the catch? - -Though all the above features paint a rosy picture, the truth is that there is no perfect software in the world. Every new tool has its own set of shortfalls. Let us see what the critics of adobe xd are claiming - -### Limited Prototyping Feature - -Though prototyping within your design application is a great advantage in terms of usage, the adobe xd does not contain all the features of a full-fledged prototyping tool such as invision. - -### Hex code - -The simplistic user interface is really good to work with but some of the most important features are missing. For example, the colour picker looks really good until you click on it to find out that the option to enter the hex code is missing - -### - -## Adobe XD Vs Sketch: The verdict - -## ![XD \(1\)][4] - -Sketch has remained as the most popular designing tool for quite some time now. There are a number of features that make it the favourite of many UI developers. The years of existence in the market and the number of modifications has made sketch a mature software that can actually aid in the making of great user experiences. Since it is specifically designed for developing UI it was able to successfully overcome the limitations of its predecessors such as adobe photoshop. The lack of subscription model also makes it really beneficial to a lot of developers. - -On the other hand, the Adobe xd is a new software that has been ambitiously placed as the one stop solution for all designing needs. The excruciating effort of the adobe team has paid off and the product has met most of its expectations. But with its simplistic approach and lack of some advanced features, it rather feels as a UI tool for beginners. With time and few modifications, the adobe xd has the potential to be the ideal competitor for the well-established sketch. - -Got a chance to try Adobe XD? Have your own thoughts or opinions on the topic. Feel free add them to the comments section and let us discuss. - -[1]: http://blogs.adobe.com/creativecloud/introducing-project-comet-a-new-tool-for-designing-and-prototyping-user-experiences/ -[2]: https://www.adobe.com/products/experience-design.html?promoid=7DRZ6NXX&mv=other -[3]: ./images/AdobeXD_Hero-1024x642.png -[4]: ./images/XD-1.jpg diff --git a/posts/adobe-xd-vs-sketch/images/AdobeXD_Hero-1024x642.png b/posts/adobe-xd-vs-sketch/images/AdobeXD_Hero-1024x642.png deleted file mode 100644 index f6b1ce3..0000000 Binary files a/posts/adobe-xd-vs-sketch/images/AdobeXD_Hero-1024x642.png and /dev/null differ diff --git a/posts/adobe-xd-vs-sketch/images/XD-1.jpg b/posts/adobe-xd-vs-sketch/images/XD-1.jpg deleted file mode 100644 index 099e7ff..0000000 Binary files a/posts/adobe-xd-vs-sketch/images/XD-1.jpg and /dev/null differ diff --git a/posts/an-overview-of-fintech/2017-04-12-AN-OVERVIEW-OF-FINTECH.md b/posts/an-overview-of-fintech/2017-04-12-AN-OVERVIEW-OF-FINTECH.md deleted file mode 100644 index a56ba33..0000000 --- a/posts/an-overview-of-fintech/2017-04-12-AN-OVERVIEW-OF-FINTECH.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'AN OVERVIEW OF FINTECH' -date: 2017-04-12 -featuredpost: false -description: >- - Fintech is the newest, in-vogue term circling the entrepreneurial sector. But a lot of people yet don't have a firm grasp on Fintech. We're here to help. -author: Anand Narayan -link: /an-overview-of-fintech -category: -- Business -tags: -- Fintech -- overview of fintech ---- -Fintech is the newest, in-vogue term making circles in the entrepreneurial sector. Despite the popularity, many still don’t have a clear handle on what this term entails. In this article, we try to demystify Fintech and all the noise around it. - -## What is Fintech -Simply put, Fintech is an aggregation of terms Finance and Technology. It’s an umbrella term for all technology and [software development around financial services](/financial-software-development-company/) and products. Finance has always been considered, a somewhat difficult concept for the general masses. - -Any startup that is working in the Fintech market is looking to use technology to improve the current system of transactions, payments, loans, fundraising, investments or portfolio management. This could be geared towards the general mass or could be in the B2B segment. - -![20150509_LDC934](./images/20150509_LDC934.png) - -The rise of interest and investments in Fintech companies has been phenomenal. Accenture reported that the global investment in Fintech companies was around $930 million back in 2008 which has jumped to a massive over $12 billion in the beginning of 2015. In an sector that is heavily marred by red tape, bureaucracy and regulations, the massively growing interest only shows that there is much to be done. - -## What Does Fintech Cover -Fintech being an umbrella term, covers any technological disruption related to finance. Some of the more popular categories under Fintech are: - -## Lending & Financing -The business of money lending and financing has largely been owned by banking institutions and big non-banking financial institutions so far. But we are seeing a lot of disruption in this market by startups looking to make this process peer-to-peer. Prosper and Lending Club are two of the most well known startups in the lending market. - -Instead of approaching banks and applying for loans, these startups have enabled people to borrow and lend money to others through their platform. Democratization of loan and transparency in operations, coupled with data-driven decisions makes for a much better experience for both the parties. And this has allowed the startups to keep interest rates lower than bank. - -## Payments and E-Wallets -Digital payments, e-wallets and mobile wallets have made a huge impact on how people transact. A natural extension of digital payments, mobile wallets let users store money and credit cards on their mobile devices and transact through their phones without ever opening their actual wallet. Google’s Android pay and Apple’s Apple Pay are two of the most well known digital wallets. - -Payal has been considered as one of the pioneers of the digital payments industry. Post its acquisition by eBay, Paypal payments rapidly gained popularity and became the choice of payment method for majority of eBay users. This led to a chain effect, giving rise to a whole new segment concerned with digital payments – payment gateways, security companies and fraud detection softwares etc to name a few. - -## Financial Management -Startups looking to improve the way people manage their personal finances fall under the category of financial management. Apps, chatbots, websites designed to help people manage money and invest better are all part of it. Young adults and the younger generation of Millennials are in much more need to the right money management ways thanks to the rising number of loans and general financial dissatisfaction. CreditKarma, Mint and Envestnet are some of the more well known startups working towards financial management. Abe, Cleo and Plum are some of the chatbots that are working towards making banking more conversational, personal and accessible. - - -![overview-fintech-1](./images/overview-fintech-1.jpg) - -There’s a lot of excitement when it comes to Fintech. People who are closely related to the industry believe that Fintech will fundamentally change and improve finance. One very obvious improvement, that every industry disrupted by technology has seen – lowering of costs and improvement of services. Companies like Payoneer and TransferWise are already providing ways to transfer money internationally, at much lower prices. - -The other improvement that we’re likely to see is better, data-driven decision making. Technology companies are able to identify better loan prospects based on algorithms driven by millions of data points. This is effectively able to overcome human bias and prejudice. - -Fintech is at a very nascent stage. There is a huge opportunity for entrepreneurs, as well as companies dealing in financial sector to take advantage of. If you have any ideas around Fintech that you’d like us to help you shape up –[ drop us a line](/contact-us). We’re firm believers of technology making people’s lives easier! \ No newline at end of file diff --git a/posts/an-overview-of-fintech/images/20150509_LDC934.png b/posts/an-overview-of-fintech/images/20150509_LDC934.png deleted file mode 100644 index ea765dd..0000000 Binary files a/posts/an-overview-of-fintech/images/20150509_LDC934.png and /dev/null differ diff --git a/posts/an-overview-of-fintech/images/overview-fintech-1.jpg b/posts/an-overview-of-fintech/images/overview-fintech-1.jpg deleted file mode 100644 index 628f3b9..0000000 Binary files a/posts/an-overview-of-fintech/images/overview-fintech-1.jpg and /dev/null differ diff --git a/posts/angular-2-overview/angular-2-overview.md b/posts/angular-2-overview/angular-2-overview.md deleted file mode 100644 index 9f667b4..0000000 --- a/posts/angular-2-overview/angular-2-overview.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'ANGULAR JS 2 : The Overview' -date: 2016-05-16 -featuredpost: false -description: >- - The Angular 2 has reached release candidate stage. This Angular 2 Overview provides all you need to know to stay updated with the framework. -keywords: -- Angular 2 overview -author: ARAVINDAN -link: /angular-2-overview -category: -- Development -tags: -- Angular.js -- Angular2 ---- - -Angular 2, Google's much awaited new framework has reached the release candidate stage. This indicates that the new framework will be available for general usage quite soon. The web development community awaits the newly upgraded framework with a million questions. There cannot be a better time to analyse the various aspects of the framework with a complete Angular 2 Overview. - -Angular JS is a Java script framework that is extensively used for the development of web based applications. It is an open-source framework maintained by Google and a community of individuals,corporations. Right from its launch in 2009, Angular JS has been continuously evolving to accommodate the rapidly developing changes in the world of internet. The current version of Angular JS, angular 1.5.5 is one of the most advanced versions of Angular JS available today. - -In October 2014 Google announced that Angular JS will go through some drastic changes and would be directly upgraded to Angular js 2.0. The web development community has been ablaze with a large number of questions about the Angular js 2. The launch of angular 2 beta version this year has only given way for more queries regarding the new upgrade. This Angular js 2 Overview is aimed at addressing some of these queries. - -## Why Angular 2.0? - -Google has announced the shift from all the Angular JS previous versions to angular 2 without any backward support. This is a radical decision. A paradigm shift in a widely used framework should definitely be backed by solid reasons. Let us analyse the reasons behind this shift. - -### Performance - -"Perform or Perish: The law of the jungle" - -Angular JS was initially designed by Google for designers who wanted to build persistent HTML forms quickly. It was later embraced by the developer community for building large and diverse web applications. This change in fundamental functionality meant that Angular JS had to be equipped with many new features to ensure a smooth development process. However there are some limitations on the improvements that can be made to Angular JS. This is due to the contradictions in the fundamental assumptions that were made while designing the framework. To overcome these limitations Google has re-designed the entire framework. Thus, it overcame a lot of performance issues that existed before. - -### Mobile - -Angular JS was introduced in 2009. Back then the proliferation of mobile devices such as cell phones and tablets had not yet started. Thus, the initial versions of Angular JS were not built with mobile devices in mind. Angular 2 is designed with mobile devices at its crux. The philosophy behind this decision is that, any framework that is built to handle mobile development will definitely be able to handle the desktop aspect of things. - -### The ever changing internet - -"Yesterday's technology is too old to hold good!" - -From the time Angular JS was designed, the internet has evolved drastically. Building applications on Angular JS that are cross browser compliant on the modern browsers is a difficult task. Developers had to come up with various workarounds and hacks to overcome this difficulty. - -Angular JS 2 is designed with ES6 and modern browsers in mind. this lets the designer focus on the code required to perform the functionality rather than the compatibility issues. - -### Modular - -Over the years, through the various stages of evolution, a number of modules have been added to Angular JS core. These have accumulated as extra baggage thereby affecting the performance of the framework. These modules have been removed from the core in angular 2 and they will be available in the angular's ecosystem of modules. The programmer can utilize these modules as per requirement. - -### User Friendly - -Angular JS is not a very user-friendly framework. The learning curve for the framework is also quite steep. The range of new features from derivatives to controller have been bolted on to Angular JS framework. This is the reason it still remains a framework of nerds. The angular 2 is designed with all the essential features in its core that would definitely be more user-friendly and much easy to learn. - -## Mixed Reaction - -"Change is the only thing that never changes" - -Right from the day Google announced a shift to Angular 2.0,the web development community has been quite skeptical about it. The announcement at ng conference that there will be no backward compatibility for the older versions of Angular JS created a lot of resentment about the shift. Migrating all the existing applications to Angular 2 remains the major concern of the web development community. - -## Angular 2 overview - -Angular 2 is a completely revamped framework that has undergone some significant changes. Let us see what some of these changes are: - -### React native and Angular 2 : The Marriage of Convenience - -One of the most fundamental change in Angular 2 is the separation of the framework into two: - -The core – This deals with components, services, router, directives, filters - -The renderer – This deals with DOM, CSS, animation, templates, web components, custom events, etc. - -The split in rendering has multiple benefits including improved performance. This split has also made it possible to render an Angular JS application with React. Adding a [library][1] will allow the developer to come up with Angular JS applications rendered with react native. - -### Typescript & Angular 2 : If you can't fight an enemy, join him - -Google and Microsoft join hands to develop Angular2 on typescript.( _The only time the products of these giants have been coupled together before is when we use IE to download chrome_) - -Until 2015 Angular 2 was supposed to be written in AtScript. AtScript is a superset of ES6 that uses Microsoft typescript's type syntax to generate runtime assertions instead of compile time checks. But in march 2015 Google came into an agreement with Microsoft. Now Angular 2 is being developed on Typescript. Microsoft has agreed to add decorators i.e annotations to its typescript language which is a strict superset of JavaScript. Thus, typescript emerged as the language for developing Angular 2 and also the recommended language for apps. - -### LAZY LOADING: - -The perpetual agony that a user faces when the page is continuously loading is not new to any netizen. The slow loading is a cause for major concern among the web community as it results in increased attrition rate. - -Angular 2 proposes a solution to this problem by lazy loading where the basic HTML content loads before the additional time-consuming code, thus allowing the user to view the main content of the page without waiting for the complete page to load. - -### Improved Dependency Injection : The Upgrade - -Dependency injection is one of the main advantages of Angular 1.x series. It is one of the main factors which has made Angular JS as the most preferred web development frameworks. Yet there were some issues that has created some discomfort for the developers. - -Angular 2 enters the arena,promising to solve all these issues. Some of the other important features such as child injector and lifetime/scope control are being added. - -### Child Injector: - -A child injector has the ability to inherit all the parent services but also the authority to override at the child level. - -### Templating and Data Binding: - -The template compilation process of Angular 2 is asynchronous in nature. Code based on module spec where the module loader will load the the dependencies by simply referencing them in the component definition. - -### Directives: - -Angular JS is equipped with 3 types of directives: Component, decorative & Template. The component creates the reusable components using encapsulated logic. The decorative as the name suggests will be used to decorate the elements. The template is used to create reusable templates. - -### Routing solution: - -The routers of Angular JS 1.x were designed only for handling simple test cases. But as the usage of the framework grew, more and more functionalities have been added on. The core of Angular 2 has been redesigned to handle all these functionalities with relative ease and more efficiency. Some of the additional features are: - -* Simple JSON-based Route Config -* Optional Convention over Configuration -* Static, Parameterized and Splat Route Patterns -* URL Resolver -* Query String Support -* Use Push State or Hashchange -* Navigation Model (For Generating a Navigation UI) -* Document Title Updates -* 404 Route Handling -* Location Service -* History Manipulation - -Some of the features of the new router that has created a buzz in the industry are: - -### Child router - -This feature enables the encapsulation of each subset into a separate component by providing its own router. This allows each subset to become a small application. - -### Design - -All the logic is built using a pipeline architecture which allows the developers to add new logics and delete default ones. It also allows the developers to make a server request for a user or raise data for a controller, while still in the pipeline. - -### Logging - -[Diary.js][2] is a very useful tool in Angular 2 that allows you to analyse where the time is consumed in your application thus facilitating the process of bottleneck identification. - -### Scope - -Angular 2 has decided to drop $scope in favour of ES6 - -## Conclusion - -The Angular 2 has already reached its release candidate stage and should be available for general use quite soon. There has been a lot of speculation about its features and all of it will be put to rest once we have the final product. This overview is aimed at helping you be prepared for what to expect from the upgraded framework. - -Was this useful? Is there any feature that we missed out? Feel free to share your comments. - -P.S. If you're looking to [hire AngularJS developers][3], drop us a line! - -[1]: https://github.com/angular/react-native-renderer -[2]: https://github.com/angular/diary.js/tree/master -[3]: /hire-angularjs-development-company/ \ No newline at end of file diff --git a/posts/angular-vs-react/angular-vs-react.md b/posts/angular-vs-react/angular-vs-react.md deleted file mode 100644 index 1952c5f..0000000 --- a/posts/angular-vs-react/angular-vs-react.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Angular Vs React' -date: 2016-04-19 -featuredpost: false -description: >- - A complete analysis of angular vs react to determine which is best suited for the applications that you are building. Contact us to hire react developers. -keywords: -- React development company -- Angularjs development company -- angularjs developers -- react js developersevelopment company -author: ARAVINDAN -link: /angular-vs-react -category: -- Development -tags: -- AngularJS Development -- React -- react js -- reactjs -- React js development company -- Reactjs Developers -- web application development ---- - -Angular is a** complete structural framework **that is used for developing dynamic web applications.Though there are many frameworks such as backbone, jquery etc. Angular js has remained the most popularly used framework. It is was created to overcome the limitations present in the existing technologies.The fundamental functionality of Angular js is to extend the vocabulary of HTML to express the applications components as accurately as possible. Angular js provides a complete client side solution for building dynamic web apps. It is used to ease the process of development by providing a greater level of abstraction.It is best suited for CRUD applications which forms the majority of web apps that are developed across the globe. - -React.js is an open-source **JavaScript** **library** that was developed by Facebook for creating User Interface that could handle change in the underlying data over-time. It is essentially the View layer in MVC architecture(explained in detail later). Unlike Angular js, completely functional web applications cannot be built on react alone. It requires a combination of libraries including react in order to build complete web apps. - -In recent times, a large number of web developers preferring to build their applications in react.js. The developers who still prefer angular js have great hopes for the upgraded version of angularjs which is angularjs 2. The beta version of this framework has already gathered some good reviews. A complete analysis of both angular and react would help developers to decide which one to choose for building their web apps. - -Let's analyze some of the important features of angular js and react. - -## Angular.js - -It is an open-source web development framework originally developed in 2009 and is now maintained by Google and a community of individuals and corporations. Angular js as defined by the official site is nothing but a structural framework for dynamic web apps. The main aim of angular.js was to simplify the development and testing of single page applications in the client side MVC (Model View Controller) architecture. Applications written in angular.js are cross browser compliant and Angular automatically handles the code suitable for each browser. - -Some of the most prominent features of angular js are: - -* **2-way data binding**: It is the system by which the changes made in the model gets automatically updated in the UI and vice versa -* **MVC(MODEL VIEW CONTROLLER):** AngularJS incorporates the basic principles behind the original MVC software design pattern into how it builds client-side web applications where - -Model – Model represents an object carrying data. - -View – View represents the visualization of the data that model contains. - -Controller – Controller acts on both model and view. It controls the data flow into model object and updates the view whenever data changes. It keeps view and model separate. - -* **Dependency Injection:** Dependency Injection (DI) is a feature that lets you request and obtain the dependencies rather than the tedious process of looking for them. -* **Directives**: Directives are used to make custom widgets by creating custom HTML tags which in turn act as widgets - -## React.js - -React is a JavaScript library that is used for building User Interfaces. It was initially developed by Facebook for creating the user interface of Facebook and Instagram. After being used in-house by the Facebook developers it was open-sourced in May 2013. - -As mentioned on the Facebook GitHub page, react was built to solve one problem: **building large applications with data that changes over time**. It gives a template language and some function hooks to essentially render HTML. The unique property of react is its ability to update only the changed part when there is a change in the underlying data. This property makes it tremendously faster. - -Some of the Key advantages of React.js are: - -* **Efficiency:** DOM operations are that needs to be done frequently is an expensive and time consuming process that reduces the efficiency of many of the existing JavaScript frameworks. React overcomes this obstacle in a unique way. It creates a virtual DOM. Thus all the changes that are to be made are considered way ahead of actually performing the changes. This change provides a drastic increase in the efficiency of DOM handling -* **SEO:** Search engine optimization is one of the biggest challenges in most of JavaScript frameworks. This is yet another milestone achievement of react as it is very SEO friendly. -* **Simple to Learn:** Learning and adopting the new system of react becomes a cakewalk due to the simple and straightforward APIs that eliminate the need to learn complex concepts to implement a solution. - -Now that we have observed each of the competitors separately let's get down to the business of comparison - -## Angular vs React: Let the games Begin - -![Angular-react-faceoff][1] - -The comparison of Angular.js and React.js as competitors is a flawed exercise as both of them are completely different from each other. - -* Angular.js is a **complete framework** that incorporates the complete MVC (Model View Controller) structure into the applications -* React.js is only a java **script library** that is used to build user interface. Essentially it is only the V in the MVC structure. - -The fundamental conflict arises from the fact that a completely functional application can be developed using Angular.js but it is not possible to the same using React.js alone. React.js would need the additional external support to build a completely functional web application. - -Comparing a complete framework to a java script library would be like comparing apples to oranges. In order to make this a more fruitful endeavor lets make a small amendment. Let us compare angular.js and a complete set of libraries including react which would make the two competitors fall under the same category. - -### Mom Vs Wife: the million dollar question - -For a beginner starting out in the world of web apps, angular js acts as a caring mother making most of the difficult decisions for us. The highly opinionated angular js 2 makes kick starting a project so easy in angular js. Whereas React.js behaves like a bickering wife who constantly quizzes you with a zillion choices and the decision making process becomes tedious thus leading to more difficulty in starting up. - -There is a flip side to the same story as well. In case of complex applications the opinionated nature of angular js leads to loss of much needed flexibility whereas react wins hands down in this case by providing much more flexibility - -### Relationship & Friends with benefits - -The year 2015 saw the rise of react.js as one of the most powerful java script libraries. Though react is still quite stable, the plethora of libraries on which react was dependent seems to be dwindling away. Thus deciding to build your app on react.js is like making friends with benefits agreement, there is no guaranteed future - -On the other hand the angularjs2 is a next step evolution of a stable and well established framework and thus the dependency on external aid is minimal. The applications that you build on angular 2 will be like a long term relationship: with a higher life expectancy - -### The Hypocrite: - -One of the major advantages of React is that it fails fast and states the obvious. Any small errors such as typos can be immediately identified as a compilation error whereas Angular js 2 will compile the typo like a true hypocrite and fail during run time. As trivial as this may seem this hypocrisy delays the development process. - -### First Love: JSX - -The choice to go with JSX is one of the major advantages for react. The support provided by code completion is a priceless asset when finishing up the coding part. Whereas the angular 2 still comes with the string-based templates and thus has its own set of disadvantages: limited code completion support and run-time failures - -### A bad workman blames his tools: - -Though JSX is a very good choice for react, tools support for the latest tools such as IDE's and linters will not be available from day1. Whereas the angular js does not require any tool support as it stores markup in a string or a separate HTML file - -### Size zero: - -Just like a bunch of frivolous teenage beauties, the developer community too is worried about the perfect size. The size of the raw frame work and library are as follows - -Angular js2 (beta version): 566k - -React: 139 k - -Though size does not make a very huge impact on the performance of the application, the use of frame-work makes the applications carry unnecessary baggage in terms of all the unused functionalities that come as a package with the framework. - -### And the Winner is: - -The clash of titans in the world of web development is an epic battle that has been raging for a long time. The battle is about to get even more ferocious with the launch of angular2 full version which is expected to happen in mid 2016. At the end of the there is no clear winner. The choice between angular2 and react solely depends upon the nature of the application that is to be built. - -We hope the comparison here helps you make a smarter decision on which one to use. Post your comments and queries in the comments section below and we will be glad to address them. Stay tuned for more amazing info from the world of web development. - - -**Looking for [React JS development company ?][2]** - -[1]: ./images/vs.png -[2]: /react-js-development/ \ No newline at end of file diff --git a/posts/angular-vs-react/images/vs.png b/posts/angular-vs-react/images/vs.png deleted file mode 100644 index 5e17648..0000000 Binary files a/posts/angular-vs-react/images/vs.png and /dev/null differ diff --git a/posts/application-development-basic-methodology/2016-10-03-Going-About-Application-Development:-Basic-Methodology.md b/posts/application-development-basic-methodology/2016-10-03-Going-About-Application-Development:-Basic-Methodology.md deleted file mode 100644 index f79d657..0000000 --- a/posts/application-development-basic-methodology/2016-10-03-Going-About-Application-Development:-Basic-Methodology.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Going About Application Development: Basic Methodology' -date: 2016-11-03 -featuredpost: false -description: >- - Creating or outsourcing your application development can be a mind boggling. Check out our 5 step methodology for application development. -keywords: -- application development, -- web development -author: Anand Narayan -link: /application-development-basic-methodology -category: -- Tutorial ---- - -Idea, designs, business model, investor meetings, user acquisition, sales, product development…. – starting a web/mobile application business can be daunting. And if you’re getting into this for the first time, the amount of information and the work involved can be mind boggling. - -Here’s the good part – we can take one thing off your plate – the application development part! Over the years, we’ve worked on a bunch of products, spoken to a lot of founders and even worked on our own products. Doing this over and again for about 5 years, we have perfected how one should go about creating applications that your users will LOVE. - -This is a quick article that’ll familiarize you with all the steps that go into creating an application successfully. Feel free to drop in your thoughts at the end! - - - -__Market Research:__ Market research is studying current trends, opinion research and data interpretation from surveys. This involves estimating current trends and studying about your potential audience. Cannot forget competition analysis – you won’t enter a battlefield without knowing who you’re up against, will you? - - - -__Wireframe:__ It is a page schematic or blueprint of the app. It’s generally a low-fidelity mockup of app screens with placeholders for content, images and buttons. Creating user stories along with, makes the development process a lot easier. Clarity between what the client is expecting and what the agency is building is ensured. - - - -__Revenue model:__ If you’re hiring an agency for development, chances are you’re looking to make money out of it. Deciding on how your application will make money in the initial stages makes development easier and pain free. In-app purchases, ads or making the application paid are general revenue sources. What would you prefer? - - - -__Design prototype:__ Design prototype is how your application is going to look once it’s ready. The wireframes, color palette and the content placement is all brought together in this step. The prototype is high-fidelity, meaning it’ll resemble very closely to the shipped application. Iterate multiple times, till you’re satisfied – but know when to take a call and start development. A shipped product is better than an unfinished ‘perfect’ product. - - - -__Development:__ This is where the active work begins on app development. The architecture of the application is created, if required, and developers begin churning out beautiful code. Front end guys begin transforming the designs into amazing pages or screens. The whole is put together, tested with every possible edge case, demoed to the client and shipped! The product is now in your hand to be used. - -![mobile Application Development](./images/AppDevInfo-3.png) - - -That’s our 5 stage process to make your app development strategy easier – simple and gets the job done! We have more than 40 clients who agree with us. 🙂 - -If you’re thinking of entering the mobile application market – [drop us a line](/contact). We love building great products! diff --git a/posts/application-development-basic-methodology/images/AppDevInfo-3.png b/posts/application-development-basic-methodology/images/AppDevInfo-3.png deleted file mode 100644 index 2f8215a..0000000 Binary files a/posts/application-development-basic-methodology/images/AppDevInfo-3.png and /dev/null differ diff --git a/posts/apps-made-using-reactjs/2016-11-11-10-Everyday-Apps-Made-Using-ReactJS.md b/posts/apps-made-using-reactjs/2016-11-11-10-Everyday-Apps-Made-Using-ReactJS.md deleted file mode 100644 index 62984a6..0000000 --- a/posts/apps-made-using-reactjs/2016-11-11-10-Everyday-Apps-Made-Using-ReactJS.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -templateKey: 'blog-post' -title: '10 Everyday Apps Made Using ReactJS' -date: 2016-11-11 -featuredpost: false -category: -- General -description: >- - React is an open-source JavaScript library and is being maintained by Facebook developers. A lot of big names have adopted it. We tell you 10 such apps. -keywords: -- reactjs -- apps made with react -- reactjs apps -- 10 apps on reactjs -- apps built with reactjs -author: Anand Narayan -link: /apps-made-using-reactjs -tags: -- React -- ReactJS ---- - -ReactJS is an open-source JavaScript library and is being maintained by Facebook developers, and it has gained exponential popularity over the 3 years since of it’s release. - -React is a component oriented abstraction and it solves the view portion of front end web development and could also be used in other mobile and web domains. With it amazing features including One way data flow, Virtual DOM and allowing Javascript Extensions (JSX). - -However, it is only restricted to ‘view’ , server side rendering and easily readable code are a big plus. Taking advantage of all the things React has to offer on the front, it is widely used by many popular sites. - -Reasons why React can or should be used cannot be summed up in one go. But the platforms using React might give you some idea how effective it could be. - - -Here is the list: - - -## 1. Dropbox -![Apps made with react js](./images/Dropbox.jpg) - -Dropbox is a Web-based file hosting service operated by Dropbox, Inc. that uses cloud computing to enable users to store and share files and folders with others across the Internet using file synchronization. It was founded in 2007 by Drew Houston and Arash Ferdowsi as a Y Combinator startup - - - -## 2. Instagram - -![insta](./images/insta.jpg) - -Instagram is an online mobile photo-sharing, video-sharing, and social networking service that enables its users to take pictures and videos and share them on social media sites. Just like Twitter you can use hashtags. It is well known that Instagram crossed Twitter in terms of active users in 2014. - - -## 3. Netflix - -![Netflix-logo](./images/netflix-logo.png) - -Netflix is an on-demand online video streaming service with 44 million subscribers worldwide. - - - -## 4. Pinterest - -![pinterest](./images/Pinterest.jpg) - -Pinterest users can upload, save, sort, and manage images and videos -known as pins, through collections known as pinboards. Pinterest acts as a personalized media platform where users can browse the content of others in their feed. - - -## 5. Reddit - -![reddit](./images/reddit.jpg) - -Reddit is a user generated content social networking site, where users can submit a link or post anything like question , and participate in community via threads. - - -## 6. Imgur - -![logo-1200-630](./images/logo-1200-630.jpg) - -Imgur is an online image hosting and sharing platform known for viral, most popular memes and gifs. - - -## 7. Whatsapp (web version) - -![whatsappweb](./images/whatsappweb.jpg) - -Whatsapp is a messaging service to connect with family and friends and can also be used for sharing media content. Web version syncs with the mobile device and hence, can only be accessed if the if the user is logged in and connected online. - - -## 8. Asana - -![asana](./images/Asana.jpg) - -Asana is a web and mobile application designed for teams to track their work. Tasks, projects and conversations are can be easily managed allowing teams to be more productive. - - - -## 9. Flipboard - -![flipboard](./images/Flipboard.jpg) - -Flipboard is the one stop online social magazine, where content from social networks, publishers, online sources and photo sharing sites could all be accessed in one place. - - -## 10. Paypal - -![paypal](./images/paypal.png) - -PayPal is a worldwide online payments system which allows money transfer and is an electronic alternatives to traditional paper methods. - - - -The above are some of the most popular websites that use on React JS. It can only be attributed to ease of use, speed and platform compatibility among other things. - -Let us know about your favourite website that runs on React in the comments section below! - -[Oh, and if you’re looking for a React JS development team, contact us here.](/contact) diff --git a/posts/apps-made-using-reactjs/images/Asana.jpg b/posts/apps-made-using-reactjs/images/Asana.jpg deleted file mode 100644 index d4ce8ff..0000000 Binary files a/posts/apps-made-using-reactjs/images/Asana.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/Dropbox.jpg b/posts/apps-made-using-reactjs/images/Dropbox.jpg deleted file mode 100644 index 93e37b1..0000000 Binary files a/posts/apps-made-using-reactjs/images/Dropbox.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/Flipboard.jpg b/posts/apps-made-using-reactjs/images/Flipboard.jpg deleted file mode 100644 index d4009a5..0000000 Binary files a/posts/apps-made-using-reactjs/images/Flipboard.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/Pinterest.jpg b/posts/apps-made-using-reactjs/images/Pinterest.jpg deleted file mode 100644 index 5fbf910..0000000 Binary files a/posts/apps-made-using-reactjs/images/Pinterest.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/insta.jpg b/posts/apps-made-using-reactjs/images/insta.jpg deleted file mode 100644 index 70ac970..0000000 Binary files a/posts/apps-made-using-reactjs/images/insta.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/logo-1200-630.jpg b/posts/apps-made-using-reactjs/images/logo-1200-630.jpg deleted file mode 100644 index 78500d2..0000000 Binary files a/posts/apps-made-using-reactjs/images/logo-1200-630.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/netflix-logo.png b/posts/apps-made-using-reactjs/images/netflix-logo.png deleted file mode 100644 index 0f2f19f..0000000 Binary files a/posts/apps-made-using-reactjs/images/netflix-logo.png and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/paypal.png b/posts/apps-made-using-reactjs/images/paypal.png deleted file mode 100644 index 29dfa0e..0000000 Binary files a/posts/apps-made-using-reactjs/images/paypal.png and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/reddit.jpg b/posts/apps-made-using-reactjs/images/reddit.jpg deleted file mode 100644 index 5f6b011..0000000 Binary files a/posts/apps-made-using-reactjs/images/reddit.jpg and /dev/null differ diff --git a/posts/apps-made-using-reactjs/images/whatsappweb.jpg b/posts/apps-made-using-reactjs/images/whatsappweb.jpg deleted file mode 100644 index 3dbfb8d..0000000 Binary files a/posts/apps-made-using-reactjs/images/whatsappweb.jpg and /dev/null differ diff --git a/posts/automation-testing-framework-development-tips-for-web-apps/automation-testing-framework-development-tips-for-web-apps.md b/posts/automation-testing-framework-development-tips-for-web-apps/automation-testing-framework-development-tips-for-web-apps.md deleted file mode 100644 index 4455317..0000000 --- a/posts/automation-testing-framework-development-tips-for-web-apps/automation-testing-framework-development-tips-for-web-apps.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Automation Testing Framework Development Tips For Web Apps' -date: 2015-12-28 -featuredpost: false -description: >- - Here are some of the tips on automation testing framework development. We help startups with offshore web application development. -keywords: -- automation testing framework -- automation testing -- offshore web development -- offshore mobile app development -- application development company -author: Hemanth -link: /automation-testing-framework-development-tips-for-web-apps -category: -- Development -tags: -- automation testing -- web application development ---- - -While every automation tester is familiar with Selenium RC, Selenium IDE and Selenium WebDriver, when it comes to automation framework development a whole new methodology swoops in. How to implement a POM(Page Object Model)? Which unit testing framework to use? Is framework development dependent on every language? Which reporting tool should be included in the framework? Which type of framework needs to be used for different types of applications? etc., are some of the questions that arises when developing a framework. I will continue writing this blog using Java as my language. - -![Seleniumlogo][1] -**Page Object Model** - -Firstly, when considering developing a framework we need to first keep into consideration, how to implement Page Object Model. It is a design pattern to create Object Repository for web UI elements(nothing but Page Objects). This design pattern is so popular that it is kind of like a necessity and what someone would hope for in every framework. - -There are several ways you can implement Page Object Model. - -One simple and classical way is to put all your xpaths or IDs etc. as a key-value pair in a Property File and Read the value using the key inside the Selenium methods. - -For Eg: Inside Sample.properties - - -```java - google_Xpath=selenium - - public class SearchData { - - public static String propertiesReader(String Filename, String key) throws IOException{ - FileReader reader = new FileReader(Filename); - Properties properties = new Properties(); - properties.load(reader); - String s = properties.getProperty(key); - return s; - } - } - - driver.findElement(By.xpath(SearchData.propertiesReader("path of the Sample.properties file","google_Xpath")); -``` -For every class, we need to create a property file. - -The other way is to use PageFactory class provided by Selenium.Using the constructor, we can initialize the PageObjects of the particular class using the static method initElements of the PageFactory class. Here is what I mean. - - -```java -Class Sample{ - public Sample(WebDriver driver){ - PageFactory.initElements(driver, this); - } - - @FindBy(xpath="//div[@id='products_page']/ul/li[1]") - private WebElement firstProduct; - public void clickProduct(){ - firstProduct.click(); - } -} -``` - - -While creating the object of the class pass the driver inside the constructor. - -```java -Sample s = new Sample(driver); -``` -The above line will initialize my Page Objects. - -The use of PageFactory would be ofcourse, primarily to implement Page Object Model. But, also there is another advantage that we can notice here. It would be to eliminate the way we conventionally locate Web Elements. Instead of providing driver.findElement(By.xpath("xpath here")), we can instead easily provide an annotation called @FindBy(xpath="xpath here"). - -**Choosing a Unit Testing Framework** - -Secondly, we find ourselves in ambiguity when we are writing a framework about which unit testing framework to use. Ofcourse, most popular and two most common unit testing frameworks are Junit and TestNG. - -Most of them would agree including me that by far TestNG is the best unit testing framework in particular writing automation test scripts since it has so many advantages like having its own reporting tool, providing us the capability to implement data-driven testing, having a lot annotations, parallel execution, grouping and so on, over Junit or any other unit testing framework. But that is not the case. - -It depends on what type of framework you are going for. In most cases, yes agreed TestNG is the best option. But assume that we are developing a framework using Cucumber and language being Java. Again, yes we can implement Cucumber-TestNG but I would bluntly say it doesn't matter since Cucumber annotations and its features take over. The optimal way to go about is to implement Cucumber-Junit since Cucumber and Junit are tightly coupled. - -**Is Automation Testing Framework Development language dependent** - -Coming to the next important topic, would be naive in paper but it is a pretty good question. Let me just dive into to the answer. The framework development is NOT dependent on the language, but having said that the way we implement the framework might differ. Here is what I mean, Page Object Model can be achieved using the PageFactory class in Java but WebDriver for Python API doesn't include PageFactory. Having said this it doesn't mean that we cannot implement POM. Here is a [link][2] to implement the same. - - -![night-computer-hdd-hard-drive \(1\)][3] - -**Reporting tool** - -Next topic that I would like to discuss is about the Reporting tool integration with the framework. Most of the framework developers would agree when I say that this is quite important because the way we provide reports to stakeholders should be lucid enough for them to clearly understand about the test suite. It would simple define how we present ourselves. - -If we are using maven as the build management tool I would highly recommend that the reporting tool to be Allure. It is an elegant reporting tool which provides a lot of clarity about the test suite. The best part is that they have provided their adapters for popular languages like Java, PHP, Ruby, Python and C# test frameworks. - - -If we are using Cucumber, this is the best reporting tool. It provides a separate section for feature files. Right now, I can easily say that Allure is the best reporting tool available. If we are not using Cucumber, then the best reporting tool would be Extent reports by Anshoo Arora. Provides coherence for the testing coverage pretty well. Also one advantage of this reporting tool is that it is independent of the build management tool. - -Of course, there are other good reporting tools but in my opinion these two are the best available today. - -**Choosing the type of Framework** - -Last and the most important question that arises during discussion is to choose the type of framework. This can be achieved based on the size and complexity involved in the project. What I am trying to say is that if your project is a pretty small one, then blindly go for a hybrid framework with Behaviour Driven Development approach being the high priority. One way to implement BDD is to use Cucumber. Since it is a small application, feature files that are involved while writing the suite would be obviously less. - -Now a question might arise saying why it is not optimal to follow BDD approach for large complex applications. The answer is simple. If our project is big and complex, feature files and the corresponding methods written for every When,And,Then, etc. will simply increase. Maintaining these methods will be extremely difficult. - -If a large complex application involves testing using a lot of test data, then blindly for a hybrid framework with data-driven approach being the high priority. One classical way to implement this is to simply read data from a property file. Another way to implement a data-driven approach and according to me a much better way considering the maintenance of the test data would be read the data from an excel file. -Using Apache POI or JXL we can write custom libraries to read rows and columns from an excelsheet. By the way, Apache POI has the ability to read data from excel files having .xls and .xlsx extensions whereas JXL has the ability to read data from excel files having .xls extension. - -The last thing I would like to say before I end this blog is that the agenda of developing a framework is to make life simple for us. It is a way to organize your code so that whoever views or works on the code should be able understand pretty well. Hence anyone who is thinking about developing an automation framework should primarily consider about the way he is going to organize his data. In simple words, he should think about how to make it easy to write automation scripts for himself and the people working with him. - -[1]: ./images/seleniumlogo.png -[2]: https://code.google.com/p/selenium/source/browse/py/test/selenium/webdriver/common/google_one_box.py -[3]: ./images/night-computer-hdd-hard-drive-1-1024x681.jpg - - \ No newline at end of file diff --git a/posts/automation-testing-framework-development-tips-for-web-apps/images/night-computer-hdd-hard-drive-1-1024x681.jpg b/posts/automation-testing-framework-development-tips-for-web-apps/images/night-computer-hdd-hard-drive-1-1024x681.jpg deleted file mode 100644 index 68e386d..0000000 Binary files a/posts/automation-testing-framework-development-tips-for-web-apps/images/night-computer-hdd-hard-drive-1-1024x681.jpg and /dev/null differ diff --git a/posts/automation-testing-framework-development-tips-for-web-apps/images/seleniumlogo.png b/posts/automation-testing-framework-development-tips-for-web-apps/images/seleniumlogo.png deleted file mode 100644 index 341d8c2..0000000 Binary files a/posts/automation-testing-framework-development-tips-for-web-apps/images/seleniumlogo.png and /dev/null differ diff --git a/posts/bangalore-the-globes-startup-hub/bangalore-the-globes-startup-hub.md b/posts/bangalore-the-globes-startup-hub/bangalore-the-globes-startup-hub.md deleted file mode 100644 index a81ed1d..0000000 --- a/posts/bangalore-the-globes-startup-hub/bangalore-the-globes-startup-hub.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Bangalore – The Globe’s startup hub' -date: 2014-01-04 -featuredpost: false -category: -- General -description: >- - Anand, Codebrahma CEO's view on silicon valley of India, Bangalore. Explaining how Bangalore is catering various startups with technology needs. -author: Anand Narayan -link: /bangalore-the-globes-startup-hub -tags: -- Development in Bangalore -- Startup hub ---- - -Are you a start up in search of solution for your technology needs. Are you a Local Business trying to start or grow your company's online presence and engagement in your locality ? Read Further. - -* * * - -Technology & Internet have changed the face of how we do Business today and it has added a myriad of ways to solve existing problems and grow existing Businesses. Internet, with the advent of smart phones have changed how Businesses reach consumers and it has almost become a de facto necessity for Businesses to embrace this change and leverage it.. - -To this date, this trend has been increasing positively and more and more people are venturing into start-ups to solve everyday problems. Local Businesses are actively investing in the web to increase their Brand Value, Community engagement and Revenue. Garage/Bootstrapped/Ventured start ups are rapidly growing in number and are addressing numerous everyday problems that their target consumers face. - -On one hand, Local Business,across the globe, are looking for the right technology know-hows/ tools for growing their business and to implement them in a cost-effective way. Start-ups, working in time strapped and rapidly changing business environments, find themselves not able to spend time on the development of their Technology Product. **_Developing Quality Software that caters perfectly to the problem_** is a Time & Effort consuming task. Also Startups and Local Business are bound by the amount of money they could spend on Technology and thus extending their ROI Period on online sales and marketing even further. - -> "If you are facing any of the above difficulties, Then Bangalore is the place for you. Look No Further" - -## Why you should consider Bangalore for your technology needs - -Bangalore saliently addresses the above discussed issues. - -### Growing Trust: - -Trust, like any other human emotion isn't built in a day. Currently the trust is increasing for bangalore based Tech companies due to their novel processes and approaches which are uninfluenced by the business practices of the pre-Internet Era. - -### A growing ecosystem. - -There is a growing ecosystem of local and global indian start ups that are sprouting in bangalore. The reasons to these are good climate(off late its getting extreme) Well connected to other cities and tourist destinations and there is a network of talented people whose reach is literally everywhere - -### Talent @ reasonable costs. - -Bangalore boasts of a huge pool of Software programmers who are billed at reasonable costs and that means you could do more with your existing start up budget. - -### The Knowledge Powerhouse - -Bangalore has been dubbed "India's Silicon Valley" and is home of IT giants such as Google, EMC, Yahoo Inc. , Amazon, SAP, GE and much more. As a result, a consistent volume of organic knowledge Transfer is happening on the know-hows and best practices of Technology & Software Development to the WorkForce Community. - -### Keep your startup awake for a little more hours everyday. - -Take advantage that the city is in a different timezone. Take care of your Tech stuff outside your work hours so you can take care of your business during your work hours. - -If you come to Bangalore, you will know that there is a brimming community of technology adopters/enthusiasts who actively engage on and adopt new beta products. Make use of this smartly to validate your idea. - -These are few of the reasons why we think Bangalore is the Globe's Startup Habitat - -Now its your turn to tell us what you think? Leave your comments below. - -* * * - -If you are looking for Node.js development company, [AngularJS Development company][2] then contact us today! We are here to help! - -[2]: /angularjs-development-company - - \ No newline at end of file diff --git "a/posts/beginners-guide-app-store-optimization/2016-11-19-Beginner\342\200\231s-Guid-to-App-Store-Optimization.md" "b/posts/beginners-guide-app-store-optimization/2016-11-19-Beginner\342\200\231s-Guid-to-App-Store-Optimization.md" deleted file mode 100644 index 57b8011..0000000 --- "a/posts/beginners-guide-app-store-optimization/2016-11-19-Beginner\342\200\231s-Guid-to-App-Store-Optimization.md" +++ /dev/null @@ -1,119 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Beginner’s Guide to App Store Optimization' -date: 2016-11-16 -featuredpost: false -description: >- - Marketing your mobile application can be a challenging task. Implementing some basic ASO checks can do wonders! Read on to know how. -keywords: -- ASO -- app store optimization -- mobile app marketing -author: Anand Narayan -link: /beginners-guide-app-store-optimization -category: -- Tutorial -tags: -- ASO -- Growth -- Startup ---- - -![app Store Optimization](./images/ASO-01.png) - - -More than 2 million apps each on iOS, Android stores and thousands being added every day while a majority of the apps still remain unexplored. It was reported that nearly [60% of the apps on the App Store have __never__ been downloaded](http://appdiggity.com/60-of-app-store-apps-have-never-been-downloaded/) and the numbers have only been increasing ever since. Reason being – only ‘top and popular apps’ are being downloaded over and over, while there is little knowledge about others. - -All this directs to less or no visibility of such apps and are thus, never picked up by the algorithm to show in search results. Visibility is associated to title of the app, description among other factors. For higher ranking, all of these need to be optimized accordingly and must comply to the guidelines of respective app store to get high ranking, the process known as App Store Optimisation. - - -## App Store Optimisation -App Store Optimization (ASO) is basically optimizing your app page in order to get better visibility when some one searches with keywords on the app store. ASO involves optimising titles, app descriptions, keywords and other important factors that are considered by the search algorithm that improve visibility. - -ASO is to app store what SEO is to search engines which will result in higher search ranking and eventually lead to one thing – download of the app. - -## Why is ASO necessary? -ASO is necessary for the reason that you want your app to be successful. Releasing an app on the store and just waiting for it take off is a thoughtless idea. Regardless of how great the quality of an app is, without optimisation – it will be lost in the lot and will likely to be never found by users. - -There are a lot of ways users discover an app – friends, online ads, blog articles etc, but searching on the app store remains the most likely way someone will find your app. A staggering 47% of iPhone users in the US admit that they found their last installed app by searching the app store. - -![screen-shot-2015-08-27-at-9-26-12-am](./images/Screen-Shot-2015-08-27-at-9.26.12-AM.png) - -Highest portion of app discovery happens through keyword search and higher ranking directly impacts on the number of downloads. - - -## Discovery in search bar -An average user who browses on app store, the search bar is mostly used in two ways. In first case, you are looking for a particular app that you know of, and search by app name. In other cases, you don’t know what you’re looking for, i.e unaware of app(s) because they are not popular or you’ve never used before. In such situation one might go with ‘general phrases’ like puzzle games for kids or multiplayer race games and look for results. - - -The algorithm captures these phrases and looks for direct results and moves on to apps that have similar keywords in app descriptions. Thus, optimising these factors can boost visibility, leading to a higher number of views on the app and increased downloads. - - -## App Store Optimising Factors -ASO isn’t is a single metric that can be worked overnight. It comprises of several elements including title, description, reviews etc. Depending on the importance, we’ve classified the factors into primary and secondary. You need to make sure that your primary factors are in place before you can expect any boost in the rankings. - -### Primary Factors -#### Title -The title is the biggest contributing factor for search ranking. When a ‘keyword’ is searched for, apps with the keyword in the title are given utmost importance and picked up first by the app stores. - -![keywords in title](./images/KeywordsInTitle.png) - -For instance – let’s take Amazon, Skype and Whatsapp. These are giants in shopping, video-call and messaging categories respectively. It’s also important to note that Skype and Amazon have 500 million downloads and Whatsapp crossing over 1 Billion. Now, let’s have a look at their app pages - -![app samples](./images/Untitled-design-1.png) - -Take a look at the app titles. They are not just __Amazon, Skype and Whatsapp but are ‘ Amazon shopping’ ‘ Skype – free IM & video calls’__ and __‘Whatsapp messenger’__. These titles not only show the app names but also mention their functionality – what they are meant for, and has an advantage over any other app in the category. - - -__Description__ -Description is next crucial thing after app title. The algorithm searches the app description for relevant keywords and ranks accordingly after matching phrases. For instance – if you search for ‘ puzzle games for kids’ the results are as follows: - -![fullshot-1](./images/fullshot-1.png) - -__Animals Puzzle for Kids__ – This Free jigsaw like puzzle game helps your kids develop matching, tactile and fine motor skills while playing 100 different Animals Puzzles – horse, cow, pig, sheep, duck, chicken, donkey, dog, cat and rabbit, bee, butterfly, mouse, peacock, monkey, owl, fish, dolphin, penguin, frog. - -__Kids Animals Jigsaw Puzzles__– If your preschool kids like jigsaw puzzles, they will LOVE Super Puzzle! Super Puzzle works almost like real jigsaw puzzles for kids. Once you pick a piece it stays on the board even if you place it incorrectly, and you can nudge pieces around until it snaps to the right slot. - -In addition to title, the app descriptions have very relevant keywords and hence, have great of visibility and top ranking. - - -## Secondary Factors -Secondary factors may be aren’t that crucial as the above but, cannot be completely ignored either. These factors add value to primary factors in getting a good rank. - -### Downloads -Higher number of downloads indicate that more number of people have used and that means it will be shown more frequently in ‘similar apps’ and ‘users also installed’ section. With increasing downloads, the app also gets increasing exposure. - -### Reviews -Reviews reflect the quality of the app. All applications have an average rating on a given scale of 1 – 5 that is given by users. 5 star rating of an app indicates best quality, good user experience and everything that makes the app more likeable to download. - -### Localisation -While uploading apps on the store, uploader has an option to make to available for all, or specific regions. Although an app can be searched with title and keywords globally, having a regional/country preference will give a higher ranking whenever search request comes from that geographical boundary. - -### Asset Optimizing -Screenshots and promo video (if any) placed right in the app page helps users know how the app is going to look like Decoding the functionality based on user interface, users will quickly be able to judge whether your app solves their purpose or not. - -## How is Android ASO different from iOS ASO? -Although app store optimization is the process of increasing discoverability of apps, there are different guidelines to comply with, for different app stores. While, most of the factors are generalised and applicable in most cases, there are some guidelines that are different in ios and android. - -### iOS App store guidelines -The most important factor that defies with normal app store optimisation rules is that, in iOS the content description doesn’t contribute to search ranking at all. However, the uploader specifies a list of keywords that relevant to the app which is taken into consideration by algorithm. The app is only searchable by app name, company name, and keywords which are given by developer during metadata setup. - -_Some other guidelines include:_ - -100 word limit description and 50 word limit for app name -Special characters and keyword repetition are not recommended and aren’t considered by search algorithm -Every app should be mandatorily assigned one primary category, and also under optional subcategories. If the app is directed to kids under 11, it must be checked for ‘Made for Kids’. -iOS app description has no effect in the search ranking. - - -### Android Play Store Guidelines -Android, just like Google relies more on the semantics to improve search accuracy by understanding searcher intent and the contextual meaning of terms as they appear in the searchable dataspace. So the title, description, reviews, categories -everything is taken into account by Android for the results. - - -_Some other guidelines include:_ - -Android allows for long descriptions. Users can find application features by clicking on ‘Read More’, whereas just a single line description is shown on the app pages. -Google collects data about installs, uninstalls, install retention and app engagement. Apps that are doing well in these metrics are ranked higher. -Apps that have good number of ‘+1’ in Google plus or are shared in any kind of social media get a general rank boost - -App store optimization is important, and can give the boost your app needs to get hugely popular. Have you tried using these tactics for your app? How has your experience been? We’d love to hear your thoughts in the comments section below. diff --git a/posts/beginners-guide-app-store-optimization/images/ASO-01.png b/posts/beginners-guide-app-store-optimization/images/ASO-01.png deleted file mode 100644 index 8745af9..0000000 Binary files a/posts/beginners-guide-app-store-optimization/images/ASO-01.png and /dev/null differ diff --git a/posts/beginners-guide-app-store-optimization/images/KeywordsInTitle.png b/posts/beginners-guide-app-store-optimization/images/KeywordsInTitle.png deleted file mode 100644 index 2868e36..0000000 Binary files a/posts/beginners-guide-app-store-optimization/images/KeywordsInTitle.png and /dev/null differ diff --git a/posts/beginners-guide-app-store-optimization/images/Screen-Shot-2015-08-27-at-9.26.12-AM.png b/posts/beginners-guide-app-store-optimization/images/Screen-Shot-2015-08-27-at-9.26.12-AM.png deleted file mode 100644 index b3d73c0..0000000 Binary files a/posts/beginners-guide-app-store-optimization/images/Screen-Shot-2015-08-27-at-9.26.12-AM.png and /dev/null differ diff --git a/posts/beginners-guide-app-store-optimization/images/Untitled-design-1.png b/posts/beginners-guide-app-store-optimization/images/Untitled-design-1.png deleted file mode 100644 index 2178deb..0000000 Binary files a/posts/beginners-guide-app-store-optimization/images/Untitled-design-1.png and /dev/null differ diff --git a/posts/beginners-guide-app-store-optimization/images/fullshot-1.png b/posts/beginners-guide-app-store-optimization/images/fullshot-1.png deleted file mode 100644 index bb75494..0000000 Binary files a/posts/beginners-guide-app-store-optimization/images/fullshot-1.png and /dev/null differ diff --git a/posts/best-gems-for-ruby-on-rails-web-applications/best-gems-for-ruby-on-rails-web-applications.md b/posts/best-gems-for-ruby-on-rails-web-applications/best-gems-for-ruby-on-rails-web-applications.md deleted file mode 100644 index 5d374e3..0000000 --- a/posts/best-gems-for-ruby-on-rails-web-applications/best-gems-for-ruby-on-rails-web-applications.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'THE 15 BEST GEMS FOR RUBY ON RAILS WEB APPLICATIONS' -date: 2016-02-03 -featuredpost: false -description: >- - Here is the list of best ruby gems which ruby on rails developers must know. These ruby gems help us build awesome rails applications within short period. -keywords: -- ruby on rails development -- ruby on rails companies -- rails development companies, -author: Raviraj Hegde -link: /best-gems-for-ruby-on-rails-web-applications -category: -- Research and Articles -tags: -- Ruby on rails -- Ruby on rails development ---- - -Ruby is a breakthrough in allowing web development as one can make use of `Gems` to fill in functionalities. This allows one to build a web app in matter of days which would usually take months to develop. Gems are highly modular and perform a specific function, which makes integrating them into new applications extremely easy. Out of the multitudes of gems created by the Ruby community at large for use, we pick fifteen which, in our opinion, are the recommend ones that should be present in every web application. - -1. **Rails** - -People often forget that Rails itself is a gem written in Ruby. It is a web application framework that includes all the basic requirements for making database-backed web applications adherent to the Model-View-Controller (MVC) template. It facilitates use of web standard languages like HTML, JavaScript or CSS inside the application environment. - -2. **Turbolinks** - -Turbolinks speeds up opening links in the application by letting the browser refresh only those parts of the page that change and keeping the already compiled JavaScript and CSS in place. Turbolinks is very light on memory, which makes it perfectly suited for mobile applications and is self-contained, not requiring jQuery or other libraries to function. - -3. **Figaro** - -Figaro is a simple, Heroku-friendly, Rails app configuration that uses ENV and a single YAML file that is used to securely configure applications written using Rails with great ease. Figaro introduces a convention that keeps the configuration data separate from the actual SCM(like GIT) by parsing the YAML file that is ignored by the SCM and loading its values into ENV. - -4. **Sidekiq** - -Sidekiq is a full-featured framework for Ruby that offers simple and efficient background processing and is designed to be easy to integrate with any modern Rails application. Sidekiq uses multithreading to handle several jobs in the same process simultaneously. It is fully compatible with Resque. - -5. **Pry** - -Pry is a powerful runtime developer console for Ruby and is completely developed from the ground up to offer various features that are not offered by the standard IRB shell. - -6. **Devise** - -Devise is a flexible authentication solution for Rails based on Warden. It comprises 10 modules that might be used as needed without fostering any dependencies in the code and also permits you to have more than one model signed in at the same time. Devise executes in a completely thread-safe manner on YARV. Devise supports authentication through both Forms and HTTP Basic Authentication, supports OmniAuth and has various useful features like sending emails with authentication confirmation instructions or password reset instructions, etc. - -7. **Carrier Wave / Paperclip** - -Carrier Wave is a classy approach to enabling file uploads for Rails, Sinatra and other Ruby web frameworks. Paperclip enables easy file attachment for ActiveRecord. Both these gems provide access to the file system within the web application environment. - -> If you are looking for reputed then check out Codebrahma. - -8. **CanCanCan (inspired by CanCan)** - -CanCanCan is an authorisation library for Ruby on Rails that allows for walled gardens, that is, restricting access to resources and data for specific users. It is derived from the presently dead CanCan project. - -9. **Rspec** - -Rspec is a testing framework for behaviour driven development in Ruby 3 and Ruby 4. Rspec allows you to simulate use of your application by testing all variants of user inputs to see if any combinations throw up any errors. - -10. **Ahoy** - -Ahoy is an analytics platform used to track visits and events in Ruby, JavaScript and other native apps. Technically a Ruby engine and not a gem, Ahoy creates visit tickets containing the source of the traffic, location from where the visit originates, information about the client device, and various other UTM parameters upon every visit to the website. It can track visits as well as events in the application. - -11. **Doorkeeper** - -Doorkeeper is a provider for introducing OAuth2 (Ruby wrapper for OAuth 2.0 protocol) functionality to web applications using Rails or Grape. It enables more secure user logins and offers greater resistance to unauthorised access. - -12. **OmniAuth** - -OmniAuth is a library that standardizes multi-provider authentication for web applications utilizing Rack middleware. OmniAuth uses strategies that can be used to specify conditions for authenticating users via disparate systems. - -13. **Capistrano** - -Capistrano is a framework for enabling remote server automation and deployment. Although written in Ruby, Capistrano is platform agnostic and can be used to deploy projects written in any language, including Java and PHP. - -14. **Sass-rails** - -Sass-rails adds CSS assets to integrate the Sass stylesheet language(An extension of CSS) with web applications built using Ruby on Rails. Rails versions post 3.1 includes support for Sass right out of the box. - -15. **ActiveModelSerializers** - -Most widely used library for designing JSON APIs through Rails. It has two chief components: serializers that describe which attributes or relationships to serialize and adapters that describe how the concerned attribute or relationship should be serialized. diff --git a/posts/brief-intro-smart-contracts-endless-possibilities/2017-05-12-A-BRIEF-INTRO-TO-SMART-CONTRACTS-AND-THEIR-ENDLESS-POSSIBILITIES.md b/posts/brief-intro-smart-contracts-endless-possibilities/2017-05-12-A-BRIEF-INTRO-TO-SMART-CONTRACTS-AND-THEIR-ENDLESS-POSSIBILITIES.md deleted file mode 100644 index 7b6b85a..0000000 --- a/posts/brief-intro-smart-contracts-endless-possibilities/2017-05-12-A-BRIEF-INTRO-TO-SMART-CONTRACTS-AND-THEIR-ENDLESS-POSSIBILITIES.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'A Brief Intro To Smart Contracts And Their Endless Possibilities' -date: 2017-05-12 -featuredpost: false -description: >- - A look into the mystic world of blockchain and smart contracts. If you're looking to understand what a smart contract is and how can it change the world, read on. -keywords: -- smart contracts -- future of smart contracts -- blockchain -link: /brief-intro-smart-contracts-endless-possibilities -category: -- Business -tags: -- blockchain -- fintech -- fintech software -- smart contracts -author: Anand Narayan ---- -![what-is-smart-contract](./images/Smart-contracts-01.png) - -## What is a Smart Contract -A smart contract is a computer program designed to facilitate, verify and enforce an agreement. When implemented, a smart contract can very well replace the need for an attorney or a notary to sign a document which then can be upheld in the court. - -These contracts execute themselves when the all the clauses in the contract are met. So, for example, if you draw up a smart contract to lease your apartment with the two conditions being rent paid and the time the key (assuming a digital key) is handed over. As soon as the renting party pays the due amount – the contract ensures the key is transferred to the tenant. The landlord cannot prevent the transfer of the key once the rent is paid – nor is the key transferred before the rent in paid. Because the contract is publicly recorded with the identities kept anonymous – neither the landlord nor the tenants can accuse of any wrong doings. The smart contract acts as a liaison ensuring the contract conditions are always met. - -## How Does a Smart Contract Work -A smart contract works on the principles of blockchain – a distributed, decentralized database used as a ledger system by the Bitcoin. Think of blockchain as a ledger, replicated across thousands of computers, instead of being on one location. The updating of such distributed ledger is done by the system itself, and has rules defined to verify and ensure correctness of the data. As the ledger is public and hosted by a lot of computers all across the world – the entry (transactions) is publicly verified while the identities of the individual participants is anonymous. Replication of the document makes the information contained in it, immutable. - -Smart contracts run on the blockchain technology – they are immutable and are enforced by the system itself. And because the contract is publicly verifiable – the chances of conflict are minimized. While smart contracts may appear like a solution to the overburdened justice system – they cannot be solely entrusted. Most of the lawyers working towards making smart contracts publicly available think of the future of jurisdiction as a combination of smart contracts and old school paper contracts. - -## Smart Contract Applications -The concept of smart contracts can be used to run any condition driven operation. Smart contracts take out the confusion and uncertainty from an agreement, because the enforcement is also taken care of by the program. This makes the underlying concept of smart contracts applicable to whole variety of businesses and operations. From healthcare to financial services & [Fintech](/financial-software-development-company), to supply chain management and even governance – any sector that could do better with highly secure, automated actions based on certain conditions can greatly benefit from smart contracts. - -### Some of the possible smart contract applications are: - -__Supply Chain__ – Logistics companies can use smart contracts to update their suppliers and inventories based on deliveries. Jeff Garzik explained this in a Blockchain conference held in Washington DC last year. “If I receive cash on delivery at this location in a developing, emerging market, then this other _product_, many, many links up the supply chain, will trigger a supplier creating a new item since the existing item was just delivered in that developing market.” - -__Real Estate__ – Continuing the example we used in the starting of the article, a smart contract makes real estate transactions way less stressful. The buyer and the seller draw a smart contract that’ll transfer the ownership of the property to the buyer on receiving the agreed upon amount. - -__Insurance__ – Insurance policies can be partially replaced by smart contracts. Health insurance can be disbursed via a smart contract on receiving the confirmation (Proof of Work) of a surgery or health procedure. The Proof of Work itself can be based on a blockchain system wherein every patient’s record is maintained and certain authorities has a key to access the data. - -__Personal Identity__ – Every individual could hold their identification proofs digitally and grant access to authorities based on need. This will greatly reduce the friction of identity management and make the process of Know Your Customer (KYC) much simpler. It’s way more secure as well. - -Let’s face it, smart contracts have a long way to go before being accepted as a norm. Replacing complex processes and contracts that have been in the market for over 50 years, with standardized, enforceable contracts will take time. With the growing acceptance of blockchain and Bitcoin, we are definitely moving in the right direction. - -_The possibilities are endless. Excitement is a natural by product_. - -Codebrahma is an expert [Blockchain application development company](/serviceblockchain-development-company/). If you’re thinking of implementing a smart contract for your business, we’d love to talk to you about it and see if we can help! diff --git a/posts/brief-intro-smart-contracts-endless-possibilities/images/Smart-contracts-01.png b/posts/brief-intro-smart-contracts-endless-possibilities/images/Smart-contracts-01.png deleted file mode 100644 index c97c2b1..0000000 Binary files a/posts/brief-intro-smart-contracts-endless-possibilities/images/Smart-contracts-01.png and /dev/null differ diff --git a/posts/build-mobile-app-responsive-web-app/2017-02-08-Should-You-Build-A-Mobile-App-or-A-Responsive-Web-Ap.md b/posts/build-mobile-app-responsive-web-app/2017-02-08-Should-You-Build-A-Mobile-App-or-A-Responsive-Web-Ap.md deleted file mode 100644 index f789f22..0000000 --- a/posts/build-mobile-app-responsive-web-app/2017-02-08-Should-You-Build-A-Mobile-App-or-A-Responsive-Web-Ap.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Should You Build A Mobile App or A Responsive Web App' -date: 2017-02-08 -featuredpost: false -description: >- - John walks into a mobile development shop and meets Jane, the sales person. John- “I want to build a mobile app”. Jane- “Great, which devices do you want your app on?” John- “Android, iOS and Windows. We obviously want to -keywords: -- web app -- mobile app -- responsive web app -- mobile vs web app -author: Anand Narayan -link: /build-mobile-app-responsive-web-app -category: -- Development -tags: -- mobile app -- product development -- responsive app -- web app ---- - -> John walks into a mobile development shop and meets Jane, the sales person.
-> John: “I want to build a mobile app”.
-> Jane: “Great, which devices do you want your app on?”
-> John: “Android, iOS and Windows. We obviously want to cover the whole market.”
-> Jane: “Okay, we can do all three. Features?”
-> John: “We are looking for an ecommerce app, what do you suggest?”
- -Jane pulls out a menu card, much like the ones you see in a restaurant, with features and their costs mentioned next to it. “These are the features that come with an ecommerce app, choose what you want – and we’ll build it for you.” - -Welcome to the world of commoditized software, where everyone talks features and what an app can do even before answering a much bigger question, “Why”? - -Deciding on a device to deliver your software on needs to be a carefully thought out process. Certain applications work better as a mobile app, while some of them are meant to be used on a laptop. - -![complex-app-mobile-web](./images/complex-app.jpeg) -## 1. Complexity -One of the first questions you need to answer, when deciding on the devices is how complex your application will be. - -Take the hugely popular photo sharing app, Instagram, for example. The founders did not originally launch Instagram as a photo sharing app on iOS. It was born out of another location based check – in app called Burbn, the founder created based on the success of Foursquare. Burbn allowed users to check in, tag friends they’re hanging with and post pictures of the meets. The app wasn’t very successful, owing to its overly complicated interface. Churning the data, the founders realized that people were only using Burbn for sharing pics, and thus Instagram was born. Simplicity was and has since been the focus – users could post an image with 3 taps. - -Apps like Instagram are mobile specific – they are born because mobile devices exist. - -> Mobile applications are supposed to be simple. The more complex they are, the lower are the chances of success. - - -Compare this to an online education platform like Udemy. Udemy is a course creation platform and a marketplace for courses, catering to two types of users – the instructors who create courses and students who consume courses. A course creation platform is a complicated software. It includes creating and editing multiple content types, managing students, managing billing and whatnot. This side of the platform thus, cannot be built as a mobile app – owing to its vastness and complexity. Instructors will need to login in to the web app and create their course. - -The students, however, only consume a course. Because the flow and complexity gets greatly reduced, it’s easier to adapt the learning platform into a mobile app. - - -> The general rule of thumb when deciding to build a mobile app is that the user should be able to reach the intended goal of the application with minimum number of clicks (no more than 3). - -![complex-app-mobile-web](./images/location-time-apps-org-copy.jpeg) - -## 2. Location and Time Sensitivity -Taxi apps like Uber allow users to book and call a cab right at their location. There are multiple things that work in tandem and give an extremely seamless experience to the user. Let’s look at the app’s flow: - -Alice is shopping around the streets of New Delhi and wants to meet friends for dinner. -She opens the app, which automatically fetches her location and shows that there are 4 cabs near her. - -The app also shows the approximate ETA for the nearest cab is 5 mins. -Alice books the cab, which arrives at her exact location within 5 minutes. -Cab drops Alice to her destination, Uber charges her card which she has pre-authorized. - -There are multiple things going on in the flow that makes booking a cab so much easier, but Alice being able to book the cab instantly and call it at her exact location without feeding in an address is what makes the experience so amazing. - -Imagine having to do the exact same flow via a web browser. Open the browser – navigate to the website – login – book a cab. Again open the browser to check if cab is on its way. Open the browser again to check how far you’re from your drop off location. If you navigate away by mistake, repeat the login procedure again to get to the right screen. You get the gist. - - -> Software applications that primarily work with location and time sensitivity need to be a mobile app and not a web app. - - - - -## 3. Frequency of Use -Last year, the American clothing company Patagonia bid farewell to their native mobile app, urging users to use the website on their mobile web browsers. - -> What was that about websites being irrelevant and this being an app only future? -> -> [pic.twitter.com/tFrw18KG25](https://t.co/tFrw18KG25) -> -> — Adam Kmiec (@adamkmiec) [June 1, 2016](https://twitter.com/adamkmiec/status/737992375839162368) - -Modern mobile web browsers have seriously notched up their technical capabilities to handle heavy websites. They’re also getting increasingly good at their mobile specific functions, including push notifications. -An average person doesn’t need to shop for clothes every day, or even every other day for that matter. So why would she want to install a native app of an apparel company. - -Closer home, Myntra – an online fashion store disabled their website and went app only to encourage retention and frequency of use. This move did not fare well as they saw a lot of their web users moving to competition. Their numbers started dropping and they eventually had to bring back their website. - - -> Applications that warrant a frequent use deserve the effort of creating an app. Otherwise a mobile web app would do just fine. - - -We, at Codebrahma are passionate about building solutions and not just apps. If you have something in mind that you want to build, we’d be more than happy to have a word with you. -Drop us a line here. \ No newline at end of file diff --git a/posts/build-mobile-app-responsive-web-app/images/complex-app.jpeg b/posts/build-mobile-app-responsive-web-app/images/complex-app.jpeg deleted file mode 100644 index 53558a1..0000000 Binary files a/posts/build-mobile-app-responsive-web-app/images/complex-app.jpeg and /dev/null differ diff --git a/posts/build-mobile-app-responsive-web-app/images/location-time-apps-org-copy.jpeg b/posts/build-mobile-app-responsive-web-app/images/location-time-apps-org-copy.jpeg deleted file mode 100644 index ee74271..0000000 Binary files a/posts/build-mobile-app-responsive-web-app/images/location-time-apps-org-copy.jpeg and /dev/null differ diff --git a/posts/building-products-users-love/2017-01-20-Building-Software-Products-Your-Users-Will-Love.md b/posts/building-products-users-love/2017-01-20-Building-Software-Products-Your-Users-Will-Love.md deleted file mode 100644 index 505d0c8..0000000 --- a/posts/building-products-users-love/2017-01-20-Building-Software-Products-Your-Users-Will-Love.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Building Software Products Your Users Will Love' -date: 2017-01-20 -featuredpost: false -description: >- - Building software products users love is not easy. More than 90% of companies fail to do so. Read on to know how to create apps that your users will love! -keywords: -- building great products -- building apps -- software engineering -- designing -- product development -author: Anand Narayan -link: /building-products-users-love -category: -- Business -tags: -- apps users love -- product development -- outsourced software development -- useful applications ---- - -Building a great product is not easy. More often than not (almost 90%, statistically), companies fail at making a truly remarkable product that consumers would’ve love using. In this age, where entrepreneurship is over glorified, getting your product right is the single most crucial part in your entrepreneurial journey. Sure, you’ll find people on the internet swearing by the latest growth hacks that tripled their revenue in 3 months or the marketeers that emphasize on the right PR launch to be the key to success. There’s no denying that growth, marketing, PR, strong core team etc are essential to your product’s success, but only if your product truly resonates with your users. Until recently, raising capital was portrayed like a ‘win’ but how many of those ‘next unicorns’ do you see in business today. - -The bottomline for a successful company is building a great product that users love, and there are no two ways about it. What makes conceptualizing a product really tricky, and sometimes the hardest part is that there is no formal training or education behind this. Most of the great innovators of the last decade have used a combination of experience, gut and knowledge to create products that have built billion dollar companies. - -While there is no textbook in this world that can teach you how to build great products, there are certain points than can help you minimize risk and maximise your chances of shipping something your users will love. Putting together a framework of sorts using learnings of other successful entrepreneurs and your own experience makes for a good reference point in times of hard decisions, and should absolutely be followed in times of the easier decisions. - -## Focus on Shipping the Right Product -Reid Hoffman, the founder of Linkedin said very famously, “if you’re not embarrassed by the first version of your product, you’ve launched too late.” This statement wonderfully puts into focus, what is necessary. We’ve seen founders and entrepreneurs waste way too much time on brainstorming for the right tech stack, spend nights discussing which features to ship in the first version or fretting over the smallest of glitches, without even knowing whether their product is something that their users will use. - -While trying to launch your product the first thing an entrepreneur should focus is on getting the right product-market fit. Marc Andeerssen defines this term as, “being in a good market with a product that can satisfy the market”. While ‘being in a good market’ is mostly concerned with pre-development research, once you’ve identified the market – you should single mindedly focus on getting the right product. It’s okay if your tech stack cannot scale at the moment, a button being slightly out of position will not hurt you much – what will really hurt you is spending way too much time and money on something that your users don’t really need. - -A good marker of the product/market fit is having over 40% of your users claiming that they’ll be highly disappointed if you discontinue your product. - -## Build on Feedback not Hunch -Larry Wall, the creator of Perl programming language once said, “When they built The University of California at Irvine they just put the buildings in. They did not put any sidewalks; they just planted grass. The next year, they came back and put the sidewalks where the trails were in the grass.” This anecdote has a very powerful message, something that every consumer facing product developer can learn from. - -Listening to your initial users can make a world of difference. Every successful entrepreneur will tell you this. You don’t have to go out and personally talk to your users, though that wouldn’t be such a bad thing, but make sure that your users can reach you. While developing your first version, ensure that you implement enough feedback systems, including direct communication channels like email and in-app analytics. Measuring and collecting data of your application’s usage is a very powerful indicator of how your users are responding. This data will help you create patterns, answer most of your difficult questions, thus empowering you to build features that your users actually want. - -## Focus on Simplicity -It’s quite easy to build a feature rich product that reeks of complexity, what is hard is to build a simple product that gets the job done. Over complicating things can get frustrating for your users. One too many options on the navigation bar, ten actions your users can perform on a tiny mobile view – even though being ‘feature rich’ might sound attractive enough to draw in a user, the complexity will persuade them to look for simpler alternatives. The human mind craves simplicity, that’s where the beauty lies. - -When iterating and chalking out specifications for your subsequent versions, think like an editor. This means removing redundancy, adding a bit of grace to the process and make sure there is nothing these that takes space but does not value. Don’t be afraid of removing a feature that your numbers indicate is not working. Even though the main idea of iterations is to build upon previous versions, ensure that your app does not get over complicated. If you’re in two minds about a certain feature, it’s better to shelve it for a later version. - -Like I mentioned earlier, there is no single path to a successful product. And that is what makes the journey so attractive. At Codebrahma, we live to create products that people would love to use. Building an app for us is not just putting together a bunch of features, it’s an elaborate solution to a problem people face. If you are looking to solve a certain problem, and are looking for software help for the same, we’d love to have a sit down with you! diff --git a/posts/building-progressive-web-app-react/2017-08-19-Building-Progressive-Web-App-With-React.md b/posts/building-progressive-web-app-react/2017-08-19-Building-Progressive-Web-App-With-React.md deleted file mode 100644 index d57efe2..0000000 --- a/posts/building-progressive-web-app-react/2017-08-19-Building-Progressive-Web-App-With-React.md +++ /dev/null @@ -1,356 +0,0 @@ ---- -templateKey: 'blog-post' -title: 'Building Progressive Web App With React' -date: 2017-08-19 -featuredpost: false -description: >- - This article will help in building progressive web App with React JS. Also you can use the boiler plate for your future work. -keywords: -- Progressive Web App -- PWA -- Progressive Web app -- PWA with React -author: Balram Khichar -link: /building-progressive-web-app-react -category: -- Tutorial -tags: -- react js -- reactjs -- pwa -- pwa app development -- app development ---- -[Progressive web apps](https://developers.google.com/web/progressive-web-apps/) (PWAs) came in the lime light recently. It uses the best of web and the best of apps to give a smooth experience to users and feels like native app. PWAs are responsive and fast, consume less data, need less storage space, support push notifications and offline use in browser. Twitter recently launched [mobile.twitter.com](https://mobile.twitter.com/) which delivers mobile app like experience to users in browser without actually installing on user device. This article focuses upon building progressive web app with React JS - -![image](./images/pwa-reliable-1024x577.png) - -We’re going to build a simple PWA in this article. You can use this code as boilerplate for further PWA developments. - - -## Getting Started with PWA -First let’s generate a React application with create-react-app. You can run the following commands to generate the React app. -```sh -npm install -g create-react-app - -create-react-app pwa-app -``` -Next we will install React Router: - -```sh -cd pwa-app - -npm install --save react-router@3.0.5 - ``` - -Now replace your `src/App.js` content with below gist. It will give us a basic template with navigation. -```jsx -import React, { Component } from 'react'; -import { Router, browserHistory, Route, Link } from 'react-router'; -import './App.css'; - -const NavBar = () => ( -
- Feed - Profile -
-); - -const Template = ({ title }) => ( -
- -

- This is the {title} page. -

-
-); - -const Feed = (props) => ( -