Tuesday, November 4, 2014

Lazy loading directives in AngularJS the easy way


The past few months I've been doing a lot of work with AngularJS, and currently I'm working on a single page application which is supposed to be quite big in the end. Since I have the privilege of building it from scratch, I'm taking many client-side performance considerations in mind now, which I think will save me a lot of hard work optimizing in the future.

One of the problems main problems is HUGE amounts of js files being downloaded to the user's computer. A great way to avoid this is to only download the minimum the user needs and dynamically load more resources in the background, or as the user runs into pages which require a specific feature.

AngularJS is a great framework, but doesn't have anything built in that deals with this, so I did some research myself...
I ran into some great articles on the subject, which really helped me a lot (and I took some ideas from), but weren't perfect.
A great article on the subject is this one : http://www.bennadel.com/blog/2554-loading-angularjs-components-with-requirejs-after-application-bootstrap.htm
The important part is that it explains how to dynamically load angularjs directives (or other components) after bootstrapping your angularjs app.
What I didn't like about this article is that the writer's example requires RequireJS and jQuery along with all the AngularJS files you already have. This alone will make your app really heavy, and I think doesn't need to be like this.

Let me show you how I wrote a simple AngularJS service that can dynamically load directives.

The first crucial step is that you need to save a reference to $compileProvider. This is a provider that is available to us when bootstrapping, but not later, and this provider will compile our directive for us.
var app = angular.module('MyApp', ['ngRoute', 'ngCookies']);

app.config(['$routeProvider', '$compileProvider', function($routeProvider, $compileProvider) {
    $routeProvider.when('/', {
        templateUrl: 'views/Home.html',
        controller: 'HomeController'
    });

    app.compileProvider = $compileProvider;
}]);


Now, we can write a service that will load our javascript file on demand, and compile the directive for us, to be ready to use.
This is a simplified version of what it should look like :
app.service('LazyDirectiveLoader', ['$rootScope', '$q', '$compile', function($rootScope, $q, $compile) {
    
    // This is a dictionary that holds which directives are stored in which files,
    // so we know which file we need to download for the user
    var _directivesFileMap = {
        'SexyDirective': 'scripts/directives/sexy-directive.js'
    };

    var _load = function(directiveName) {
        // make sure the directive exists in the dictionary
        if (_directivesFileMap.hasOwnProperty(directiveName)) {
            console.log('Error: doesnt recognize directive : ' + directiveName);
            return;
        }

        var deferred = $q.defer();
        var directiveFile = _directivesFileMap[directiveName];

        // download the javascript file
        var script = document.createElement('script');
        script.src = directiveFile;
        script.onload = function() {
            $rootScope.$apply(deferred.resolve);
        };
        document.getElementsByTagName('head')[0].appendChild(script);

        return deferred.promise;
    };

    return {
        load: _load
    };

}]);


Now we are ready to load a directive, compile it and add it to our app so it is ready for use.
To use this service we will simply call it from a controller, or any other service/directive like this:
app.controller('CoolController', ['LazyDirectiveLoader', function(LazyDirectiveLoader) {
    
    // lets say we want to load our 'SexyDirective' all we need to do is this :
    LazyDirectiveLoader.load('SexyDirective').then(function() {
        // now the directive is ready...
        // we can redirect the user to a page that uses it!
        // or dynamically add the directive to the current page!
    });

}]);


One last thing to notice, is that now your directives need to be defined using '$compileProvider', and not how we would do it regularly. This is why we exposed $compileProvider on our 'app' object, for later use. So our directive js file should look like this:
app.compileProvider.directive('SexyDirective', function() {
    return {
        restrict: 'E',
        template: '<div class=\"sexy\"></div>',
        link: function(scope, element, attrs) {
            // ...
        }
    };
});


I wrote earlier that this is a simplified version of what it should look like, since there are some changes that I would make before using it as is.
First I would probably add some better error handling to look out for edge cases.
Second, We wouldn't want the same pages to attempt to download the same files several times, so I would probably add a cache mechanism for loaded directives.
Also, I wouldn't want the list of directive files (the variable _directivesFileMap) directly in my LazyDirectiveLoader service, so I would probably create a service that holds this list and inject it the service. The service that holds the list will be generated by my build system (in my case I created a gulp task to do this). This way I don't need to make sure this file map is always updated.
Finally, I think I will take out the part that loads the javascript file to a separate service so I will be able to easily mock it in tests I write. I don't like touching the DOM in my services, and if I have to, I rather separate it to a separate service I can easily mock.

I uploaded a slightly better (and a little less simplified) version of this over here : https://github.com/gillyb/angularjs-helpers/tree/master/directives/lazy-load

282 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. If the user will use Cloud computing virtual data room solutions , it will not have a problem with HUGE amounts of js files being downloaded to the user's computer

    ReplyDelete
  3. I have read your blog its very attractive and impressive. I like it your blog.

    Angularjs Online Training Angularjs Training Angularjs Training Angularjs Training in Chennai Angularjs Training in Chennai

    ReplyDelete
  4. Thanks for posting this useful content, Good to know about new things here, Let me share this,
    AngularJS Training in Chennai | AngularJS Training | Best AngularJS Training Institute in Chennai

    ReplyDelete
  5. Thanks for sharing this informative content that guided me to know the details about the training offered in different technology.Best Angularjs Training in Chennai
    AngularJS Training in Chennai

    ReplyDelete
  6. Attractive blog post! I should read from some useful news for this blog section, It 's a great content Keep it useful sharing.
    angularjs training in chennai , best angularjs training course in chennai | selenium training in chennai |best selenium course in chennai

    ReplyDelete
  7. Here you Can Download Stock Note 4 Firmware Free With Full Speed

    sm-n910f firmware

    ReplyDelete
  8. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.

    java training in bangalore

    ReplyDelete
  9. Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area.
    Big Data Training in Marathahalli

    ReplyDelete
  10. Existing without the answers to the difficulties you’ve sorted out through this guide is a critical case, as well as the kind which could have badly affected my entire career if I had not discovered your website
    dotnet training in bangalore

    ReplyDelete
  11. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    hadoop-training-in-bangalore

    ReplyDelete
  12. Thanks for a your wonderful article with working examples code.

    - Divya,
    Trainer,
    Best Angular Training Center

    ReplyDelete
  13. Those guidelines additionally worked to become a good way to
    recognize that other people online have the identical fervor like mine
    to grasp great deal more around this condition.

    white label website builder

    ReplyDelete
  14. Interesting post! This is really helpful for me. I like it! Thanks for sharing..
    MCA Project Center in Chennai | MCA Project Center in Velachery

    ReplyDelete
  15. Really an amazing post by reading your post i gained more information.Java Project Center in Chennai | Java Project Center in Velachery

    ReplyDelete
  16. I simply wanted to thank you so much again. I am not sure the things that I might have gone through without the type of hints revealed by you regarding that situation.
    Authorized Dot Net training in chennai
    Advance Digital Marketing Training in chennai– 100% Job Guarantee

    ReplyDelete



  17. The great service in this blog and the nice technology is visible in this blog. I am really very happy for the nice approach is visible in this blog and thank you very much for using the nice technology in this blog
    Angularjs course in chennai

    ReplyDelete
  18. Great article for know about the technology. Thanks for sharing this useful information.
    AngularJS Training Chennai | AngularJS Courses in Chennai | Angular Training in Chennai

    ReplyDelete
  19. Awesome article.The information I have been searching precisely. It helped me a lot, thanks. Keep coming with more such informative article. Would love to follow them.
    sap abap online training in usa

    ReplyDelete
  20. Thanks for sharing the information, Salesforce experts a lot of openings in multi-level companies, for more information n
    Salesforce Training
    Salesforce certification Training program
    Salesforce Training online in India

    ReplyDelete
  21. The blog you presented was very nice and interesting which helped me to get update on the recent technologies.angularjs training in chennai

    devops training in chennai

    ReplyDelete
  22. The blog you presented was very nice and interesting which helped me to get update on the recent technologies.

    angularjs training in chennai

    devops training in chennai

    ReplyDelete
  23. You’ve written a really great article here. Your writing style makes this material easy to understand.. I agree with some of the many points you have made. Thank you for this is real thought-provoking content
    python training in chennai | python training in bangalore

    python online training | python training in pune

    python training in chennai | python training in bangalore

    python training in tambaram |

    ReplyDelete
  24. Useful information.I am actual blessed to read this article.thanks for giving us this advantageous information.I acknowledge this post.and I would like bookmark this post.Thanks

    java training in omr

    java training in annanagar | java training in chennai

    java training in marathahalli | java training in btm layout

    java training in rajaji nagar | java training in jayanagar

    ReplyDelete
  25. Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.

    Digital Marketing Course in Chennai
    Digital Marketing Training in Chennai
    Online Digital Marketing Training
    SEO Training in Chennai
    Digital Marketing Course
    Digital Marketing Training
    Digital Marketing Courses

    ReplyDelete
  26. A very good blog
    https://litementors.in/courses/digital-marketing-training-in-chennai/

    ReplyDelete
  27. This comment has been removed by the author.

    ReplyDelete
  28. I appreciate that you produced this wonderful article to help us get more knowledge about this topic. I know, it is not an easy task to write such a big article in one day, I've tried that and I've failed. But, here you are, trying the big task and finishing it off and getting good comments and ratings. That is one hell of a job done!
    Python training in marathahalli
    Python training in pune
    AWS Training in chennai

    ReplyDelete
  29. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
    DevOps online Training

    ReplyDelete
  30. This is a terrific article, and that I would really like additional info if you have got any. I’m fascinated with this subject and your post has been one among the simplest I actually have read.

    angularjs Training in chennai
    angularjs Training in chennai

    angularjs-Training in tambaram

    angularjs-Training in sholinganallur

    angularjs-Training in velachery

    ReplyDelete
  31. Howdy, would you mind letting me know which web host you’re utilizing? I’ve loaded your blog in 3 completely different web browsers, and I must say this blog loads a lot quicker than most. Can you suggest a good internet hosting provider at a reasonable price?
    Amazon Web Services Training in OMR , Chennai | Best AWS Training in OMR,Chennai
    Amazon Web Services Training in Tambaram, Chennai|Best AWS Training in Tambaram, Chennai

    ReplyDelete
  32. Existing without the answers to the difficulties you’ve sorted out through this guide is a critical case, as well as the kind which could have badly affected my entire career if I had not discovered your website.
    safety course in chennai

    ReplyDelete
  33. Really I Appreciate The Effort You Made To Share The Knowledge. This Is Really A Great Stuff For Sharing. Keep It Up . Thanks For Sharing.

    Angular Training in Chennai
    Angular JS Training in Chennai

    ReplyDelete
  34. Amazing Article ! I have bookmarked this article page as i received good information from this. All the best for the upcoming articles. I will be waiting for your new articles. Thank You ! Kindly Visit Us @ Coimbatore Travels | Ooty Travels | Coimbatore Airport Taxi | Coimbatore taxi

    ReplyDelete
  35. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article.thank you for sharing such a great blog with us. expecting for your.
    ccna Training center in Chennai
    Best CCNA Training Institute in Chennai
    ccna certification in Chennai
    ccna course in Chennai
    German Language Course in Chennai
    German Courses in Chennai

    ReplyDelete
  36. Very interesting content which helps me to get the indepth knowledge about the technology. To know more details about the course visit this website.
    Qtp training in Chennai
    Big Data Training in Chennai
    Hadoop Training in Chennai
    Digital Marketing Training in Chennai
    JAVA Training in Chennai
    Java classes in chennai

    ReplyDelete
  37. It is an excellent post! Truly very worthy concept and really thanks for this posting such a wonderful blog. Share more info like this.
    Ethical Hacking Course
    Ethical Hacking Certification
    Hacking Course
    Learn Ethical Hacking

    ReplyDelete
  38. I have gone through your blog, it was very much useful for me and because of your blog, and also I gained many unknown information, the way you have clearly explained is really fantastic. Kindly post more like this, Thank You.
    Aviation Academy in Chennai
    Aviation Courses in Chennai
    best aviation academy in chennai
    aviation institute in chennai

    ReplyDelete
  39. This comment has been removed by the author.

    ReplyDelete
  40. im really proud to read a resonable article.in recent days i search a this much of article finally i found it.thanks.
    AngularJS Training institute in Chennai
    Angular 6 Training in Chennai
    Angular 5 Training in Chennai

    ReplyDelete
  41. I have to voice my passion for your kindness giving support to those people that should have guidance on this important matter.
    safety course in chennai

    ReplyDelete
  42. Try your luck and get a lot of money on the online casino site BGAOC. live slot strategy Win more than ever with us.

    ReplyDelete
  43. This comment has been removed by the author.

    ReplyDelete
  44. its very nice to read your article and im really appreciate to read that.thanks to you for giving wonderfull ideas.thankyou.
    UiPath Training Institutes in Chennai
    Blue Prism Training in Anna Nagar
    Blue Prism Training in T Nagar

    ReplyDelete
  45. Качественный декоративный алюминиевый led профиль я обычно беру в компании Ekodio, советую.

    ReplyDelete
  46. Thank you for taking time to provide us some of the useful and exclusive information with us.
    Regards

    You are doing a great job. I would like to appreciate your work for good accuracy
    Data Science Course in Chennai
    Data Science With R
    Python Training in Chennai
    Machine Learning in Chennai
    SAS Traioning in Chennai

    ReplyDelete
  47. Thanks For Sharing The Information Please Keep Updating us Information Shared Is Very Valuable Time Just Went On Reading The Article Python Online Training AWS Online Training Data Science Online Training Data Science Online Training Hadoop Online Training

    ReplyDelete
  48. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.

    angularjs online training

    apache spark online training

    informatica mdm online training

    devops online training

    aws online training

    ReplyDelete
  49. Thank you for allowing me to read it, welcome to the next in a recent article. And thanks for sharing the nice article, keep posting or updating news article.

    Microsoft Azure online training
    Selenium online training
    Java online training
    Java Script online training
    Share Point online training


    ReplyDelete
  50. Webtrackker is one only IT company who will provide you best class training with real time working on marketing from last 4 to 8 Years Experience Employee.Thanks for sharing.Best vacation course Training in and vacation course for Students in Kanchipuram|

    ReplyDelete
  51. the blog is very useful, interesting and informative. thank you for sharing the blog with us. keep on updating. Best Tally ERP 9 Training institute in kanchipuram|

    ReplyDelete
  52. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing

    Best AWS Training Academy in Kanchipuram

    ReplyDelete
  53. Nice post... Really you are done a wonderful job. Thanks for sharing such wonderful information with us. Please keep on updating...
    Best Graphic designing Training Institute in in Kanchipuram

    ReplyDelete
  54. Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
    python training in bangalore

    ReplyDelete
  55. This information is very useful and innovative..I gained more knowledge from this.Thanks for the nice information its very useful to read your blog...
    Best web designing Training Institute in in Kanchipuram

    ReplyDelete
  56. Wonderful article.It is to define the concepts very well.Clearly explain the information.It has more valuable information for encourage me to achieve my career goal.
    Best dally erp 9 Training Institute in in Kanchipuram

    ReplyDelete
  57. Wow, really I am much interested to know our blog content is really good.Great information. Thank you for Sharing.
    Best C++ Training Institute in Kanchipuram

    ReplyDelete
  58. Awesome Post! I like writing style, the way you described the topics throughout the post. I hope many web reader will keep reading your post at the end, Thanks for sharing your view.
    Best web design Training Institute in Kanchipuram

    ReplyDelete
  59. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site
    Best dotnet Training Institute in Kanchipuram

    ReplyDelete
  60. Home Mart is a site about Home Improvement, Furniture, Home Appliances and many more.
    Check out the best
    Dog Cages
    bedroom furniture nz
    entertainment unit
    shoe rack

    ReplyDelete
  61. Wonderful article.It is to define the concepts very well.Clearly explain the information.It has more valuable information for encourage me to achieve my career goal.
    Best CCNP Training Institute in Kanchipuram

    ReplyDelete
  62. thank you for such a great article with us. hope it will be much useful for us. please keep on updating..
    Best software testing Training Institute in Kanchipuram

    ReplyDelete
  63. Thanks for sharing such a great information..Its really nice and informative.Great article, thanks for posting...
    Best software testing Training Institute in Kanchipuram

    ReplyDelete
  64. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us.
    Best dally erp 9 Training Institute in Kanchipuram

    ReplyDelete
  65. Great blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing.
    Best UIpath certification Training Institute in Kanchipuram

    ReplyDelete
  66. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing…..No:1 Python Programming Training Institute in Kanchipuram

    ReplyDelete
  67. Thanks for taking your own time to discuss this topic, I feel happy about that curiosity has increased to learn more about this topic. Keep sharing your information regularly for my future reference.….. .…..Best LINUX Training Institute in Kanchipuram

    ReplyDelete
  68. Awesome Post! I like writing style, the way you described the topics throughout the post. I hope many web reader will keep reading your post at the end, Thanks for sharing your view. .…..No:1 AZURE Training Institute in Kanchipuram

    ReplyDelete
  69. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    Best C++ Training Training Institute in Kanchipuram

    ReplyDelete
  70. You created an Impressive blog with lovely information.You made a really very useful article..Thanks for sharing such a wonderful blog...
    Best C++ Training Training Institute in Kanchipuram

    ReplyDelete
  71. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing…..…..No:1 Python Programming Training Academy in Kanchipuram

    ReplyDelete
  72. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post. keep update your blog.
    Best UIPath Robotic Process Automation in Training Institute in Kanchipuram

    ReplyDelete
  73. Awesome Post! I like writing style, the way you described the topics throughout the post. I hope many web reader will keep reading your post at the end, Thanks for sharing your view.No:1 Web Designing Training Academy in Kanchipuram

    ReplyDelete
  74. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    Best web designing Training Institute in Kanchipuram

    ReplyDelete
  75. very nice blogs!!! i have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.No:1 Python Programming Training Academy in Kanchipuram

    ReplyDelete
  76. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us..Best Selenium Training Academy in Kanchipuram

    ReplyDelete
  77. Wonderful!! this is really one of the most beneficial blogs I’ve ever browsed on this subject. I am very glad to read such a great blog and thank you for sharing this good info with us.Keep posting stuff like this.Best AWS Training Academy in Kanchipuram

    ReplyDelete
  78. Thanks for appreciating. Really means and inspires a lot to hear from you guys.I have bookmarked it and I am looking forward to reading new articles. Keep up the good work..Believe me, This is very helpful for me.
    Best dally erp9 Training Institute in Kanchipuram

    ReplyDelete
  79. Thanks for sharing these niche piece of knowledge. Here, I had a solution for my inconclusive problems & it’s really helps me a lot keep updates…No:1 Software Testing Training Academy in Kanchipuram

    ReplyDelete
  80. Wonderful article.It is to define the concepts very well.Clearly explain the information.It has more valuable information for encourage me to achieve my career goal.
    Best JAVA and J2EE Training Institute in Kanchipuram

    ReplyDelete
  81. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing…No:1 Python Programming Training Academy in Kanchipuram

    ReplyDelete
  82. Awesome Post! I like writing style, the way you described the topics throughout the post. I hope many web reader will keep reading your post at the end, Thanks for sharing your view.…No:1 Selenium Training Academy in Kanchipuram

    ReplyDelete
  83. Great information, I like this kind of blog information really very nice and more I can easily new skills are develop after reading that post..…No:1 AWS Training Academy in Kanchipuram

    ReplyDelete
  84. Wonderful blog… You provided very interesting information here. I feel happy to read this post. I hope that you will write many posts like this… Thanks for sharing and Keep updating…..No:1 Software Testing Training Academy in Kanchipuram

    ReplyDelete
  85. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post. keep update your blog.…..Best Web Designing Training Academy in Kanchipuram

    ReplyDelete
  86. This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.Regards,
    Best tally erp 9 Training Institute in kanchipuram|

    ReplyDelete
  87. Wonderful!! this is really one of the most beneficial blogs I’ve ever browsed on this subject. I am very glad to read such a great blog and thank you for sharing this good info with us.Keep posting stuff like this..…..Best VMware Training Academy in Kanchipuram

    ReplyDelete
  88. Hi, I am really happy to find such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post.
    Best Web Designing and Development TrainingTraining Institute in kanchipuram|

    ReplyDelete
  89. very nice blogs!!! I have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing…..Best Selenium Training Academy in Kanchipuram

    ReplyDelete
  90. Wonderful!! this is really one of the most beneficial blogs I’ve ever browsed on this subject. I am very glad to read such a great blog and thank you for sharing this good info with us.Keep posting stuff like this...Best RPA Training Academy in Kanchipuram

    ReplyDelete
  91. This is really too useful and have more ideas from yours. keep sharing many things and thanks for sharing the information....Best Blue prism Training Academy in Kanchipuram

    ReplyDelete
  92. Nice and good blog.. it is very useful for me to learn and understand easily.. thanks for sharing your valuable information and time.. please keep updating.
    Best tally erp9 Course Training Institute in kanchipuram|

    ReplyDelete
  93. Wow!! What a interesting blog..Thanks The information which you provided is very much useful and easy to learn as well...keep rocking and updating... looking further....No:1 Python Training Academy in Kanchipuram

    ReplyDelete
  94. Really i enjoyed very much. And this may helpful for lot of peoples. So you are provided such a nice and great article within this..No:1 Blue Prism Training Academy in Kanchipuram

    ReplyDelete
  95. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving. Most of ideas can be nice content. The people to give them a good shake to get your point and across the command...Best AWS Training Academy in Kanchipuram

    ReplyDelete
  96. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing…...Best Selenium Training Academy in Kanchipuram

    ReplyDelete
  97. Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post.
    Best Python Course Training Institute in kanchipuram|

    ReplyDelete
  98. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing……...Best JAVA Training Academy in Kanchipuram

    ReplyDelete
  99. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
    Best Advanced Amazon Web Services Course Training Institute in kanchipuram|

    ReplyDelete
  100. I like viewing web sites which comprehend the price of delivering the excellent useful resource Python classes in pune free of charge. I truly adored reading your posting. Thank you!

    ReplyDelete
  101. Wonderful!! this is really one of the most beneficial blogs I’ve ever browsed on this subject. I am very glad to read such a great blog and thank you for sharing this good info with us.Keep posting stuff like this.…...Best Web Designing Training Academy in Kanchipuram

    ReplyDelete
  102. Excellant post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it....Best UI Path Training Academy in Kanchipuram

    ReplyDelete
  103. Quite Interesting post!!! Thanks for posting such a useful post. I wish to read your upcoming post to enhance my skill set, keep blogging.
    Regards,.No:1 JAVA J2EE Training Academy in Kanchipuram

    ReplyDelete
  104. This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.Regards, .No:1 Selenium Automation Training Academy in Kanchipuram

    ReplyDelete
  105. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us...No:1 AWS Training Institute in Kanchipuram

    ReplyDelete
  106. Thank you so much for sharing. Keep updating your blog. It will very useful to the many users.
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  107. Useful information and kindly keep update such a nice blog. Thanks for sharing...
    Best tally erp 9 Course Training Institute in kanchipuram|

    ReplyDelete
  108. Nice post. Great information and really very much useful. Thanks for sharing and keep updating...No:1 ISTQB Certification Institute in Kanchipuram

    ReplyDelete
  109. This blog is informative.It helps me to gain good knowledge.It helps to understand the concept easily. please update this kind of information.Leading Python Training Institute in Kanchipuram

    ReplyDelete
  110. Nice blog.Your blog is really useful for me. Thanks for sharing this informative blog.
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  111. Thank you so much for sharing. Keep updating your blog. It will very useful to the many users. Leading Python Programming Institute in Kanchipuram

    ReplyDelete
  112. REALLY VERY EXCELLENT INFORMATION. I AM VERY GLAD TO SEE YOUR BLOG FOR THIS INFORMATION. THANKS FOR SHARING. KEEP UPDATING.
    Best Hardware and Networking Course Training Institute in kanchipuram|

    ReplyDelete
  113. I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing.. Leading Web Designing Training Institute in Kanchipuram

    ReplyDelete
  114. This post was quite awesome and interesting to read. Congrats for your work. Thanks a lot for providing this with us. Keep on updating this with us regularly:
    Best Selenium Automation Course Training Institute in kanchipuram|

    ReplyDelete
  115. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us.. Leading Python Training Academy in Kanchipuram

    ReplyDelete
  116. Wonderful!! this is really one of the most beneficial blogs I’ve ever browsed on this subject. I am very glad to read such a great blog and thank you for sharing this good info with us.Keep posting stuff like this.. No:1 Web Designing and Development Training Academy in Kanchipuram

    ReplyDelete
  117. Awesome Blog with informative concept. Really I feel happy to see this useful blog, Thanks for sharing such a nice blog...
    Best Linux Certification Course Training Institute in kanchipuram|

    ReplyDelete
  118. Great post.Thanks for one marvelous posting! I enjoyed reading it;The information was very useful.Keep the good work going on!!
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  119. Nice and good blog. It is very useful for me to learn and understand easily. Thanks for sharing your valuable information and time. Please keep updating...
    Best Web Technologies Course Training Institute in kanchipuram|

    ReplyDelete
  120. Excellant post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it..No:1 Cloud Computing Training Academy in Kanchipuram

    ReplyDelete
  121. There was very wonderful information and that's great one. I really appreciate the kind words, thanks for sharing that valuable information.
    Best C++ Course Training Institute in kanchipuram|

    ReplyDelete
  122. Wonderful article.It is to define the concepts very well.Clearly explain the information.It has more valuable information for encourage me to achieve my career goal..No:1 Selenium Automation Training Academy in Kanchipuram

    ReplyDelete
  123. Thanks for your informative article. Your post helped me a lot in understanding the career prospects in search engine optimization..No:1 JAVA J2EE Training Academy in Kanchipuram

    ReplyDelete
  124. Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well..No:1 Python Programming Training Academy in Kanchipuram

    ReplyDelete
  125. Nice and good blog. It is very useful for me to learn and understand easily. Thanks for sharing your valuable information and time. Please keep updating....No:1 Selenium Automation Training Academy in Kanchipuram

    ReplyDelete
  126. Great information, I like this kind of blog information really very nice and more I can easily new skills are develop after reading that post..….No:1 Python Training Academy in Kanchipuram

    ReplyDelete
  127. The information you have here is really useful to make my knowledge good. It is truly supportive for us and I have accumulated some essential data from this blog.
    Best JAVA and J2EE Course Training Institute in kanchipuram|

    ReplyDelete
  128. I Got Job in my dream company with decent 12 Lacks Per Annum salary, I have learned this world most demanding course out there in the current IT Market from the big data training in bangaloreProviders who helped me a lot to achieve my dreams comes true. Really worth trying Freelance seo expert in bangalore

    ReplyDelete
  129. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article.thank you for sharing such a great blog with us. expecting for your.….No:1 Linux Training Academy in Kanchipuram

    ReplyDelete
  130. Your Blog is really awesome with helpful post..keep updating such an excellent post with us..
    Best CCNA Course Training Institute in kanchipuram|

    ReplyDelete
  131. Its really an Excellent post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog. Thanks for sharing….….No:1 Python Training Academy in Kanchipuram

    ReplyDelete
  132. Great blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing.
    Best Tally erp9 Course Training Institute in kanchipuram|

    ReplyDelete
  133. Nice..You have clearly explained about it ...Its very useful for me to know about new things..Keep on blogging..
    Best JAVA and J2EE Course Training Institute in kanchipuram|

    ReplyDelete
  134. Hi, am a big follower of your blog. I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post. keep update your blog.
    Best CCNA Course Training Institute in kanchipuram|

    ReplyDelete
  135. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.….No:1 AWS Training Academy in Kanchipuram

    ReplyDelete
  136. Great post.Thanks for one marvelous posting! I enjoyed reading it;The information was very useful.
    Best Best Web Designing and Development Course Training Institute in kanchipuram|

    ReplyDelete
  137. I Got Job in my dream company with decent 12 Lacks Per Annum salary, I have learned this world most demanding course out there in the current IT Market from the python training in pune experts who helped me a lot to achieve my dreams comes true. Really worth trying.

    ReplyDelete
  138. very nice blogs!!! I have to learning for lot of information for this sites...Sharing for wonderful information. Thanks for sharing this valuable information to our vision. You have posted a trust worthy blog keep sharing.No:1 LINUX Training Academy in Kanchipuram

    ReplyDelete
  139. great doing. and i happy to visit your blog to know about this wonderful information. thanks for sharing. keep updating.
    Best Best Web Designing and Development Course Training Institute in kanchipuram|

    ReplyDelete
  140. Great blog.you put Good stuff.All the topics were explained briefly.so quickly understand for me.I am waiting for your next fantastic blog.Thanks for sharing..No:1 CCNA Training Academy in Kanchipuram

    ReplyDelete
  141. Your info is really amazing with impressive content..Excellent blog with informative concept. Really I feel happy to see this useful blog, Thanks for sharing such a nice blog..
    Best Python Course Training Institute in kanchipuram|

    ReplyDelete
  142. Very impressive and informative blog.. thanks for sharing your valuable information.. it is very useful and easy to learn as well... keep rocking and updating... looking further..
    Best Tally Erp9.0 Course Training Institute in kanchipuram|

    ReplyDelete
  143. I think this is an informative post and knowledgeable. Thank you for sharing this wonderful post! I’m glad that I came across your article.
    Java Training in Chennai/Java Training in Chennai with Placements

    ReplyDelete
  144. Thanks for sharing such a great information..Its really nice and informative.Great article, thanks for posting....No:1 JAVA Training Academy in Kanchipuram

    ReplyDelete
  145. I learned World's Trending Technology from certified experts for free of cost. I Got a job in decent Top MNC Company with handsome 14 LPA salary, I have learned the World's Trending Technology from Python Training in pune experts who know advanced concepts which can help to solve any type of Real-time issues in the field of Python. Really worth trying Freelance seo expert in bangalore

    ReplyDelete
  146. Quite Interesting post!!! Thanks for posting such a useful post. I wish to read your upcoming post to enhance my skill set, keep blogging.
    Best Web Technologies Course Training Institute in kanchipuram|

    ReplyDelete
  147. Useful information and kindly keep update such a nice blog. Thanks for sharing......No:1 CCNA Training Academy in Kanchipuram

    ReplyDelete
  148. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information, this is useful to me…
    Best Linux Certification Course Training Institute in kanchipuram|

    ReplyDelete
  149. Wow!! What a interesting blog..Thanks The information which you provided is very much useful and easy to learn as well...keep rocking and updating... looking further......No:1 AWS Training Academy in Kanchipuram

    ReplyDelete
  150. Quite Interesting post!!! Thanks for posting such a useful post. I wish to read your upcoming post to enhance my skill set, keep blogging.
    Best Web Technologies Course Training Institute in kanchipuram|

    ReplyDelete
  151. Nice post... Really you are done a wonderful job. Thanks for sharing such wonderful information with us. Please keep on updating......No:1 CCNP Training Academy in Kanchipuram

    ReplyDelete
  152. Nice Post! It is really interesting to read from the beginning & I would like to share your blog to my circles, keep your blog as updated.
    Best Tally ERP 9 Course Training Institute in kanchipuram|

    ReplyDelete
  153. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  154. I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..... No:1 Web Designing Training Academy in Kanchipuram

    ReplyDelete
  155. This is excellent information. It is amazing and wonderful to

    visit your site.Thanks for sharing this information, this is useful

    to me…no:1selenium automation training

    institute in kanchipuram.

    ReplyDelete
  156. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me
    Best PCB Training Course Training Institute in kanchipuram|

    ReplyDelete
  157. your blog contain very useful information. Really hereafter I am very big follower of your blog..
    Best MATLAB Course Training Institute in kanchipuram|

    ReplyDelete
  158. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information, this is useful to me…no:1
    HP QTP / UFT Automation training institute in kanchipuram.

    ReplyDelete
  159. Great post....Thank you for posting the great content……I found it quiet interesting, hopefully you will keep posting such blogs…Keep updating your creative and awesome blog.
    Best Tally Erp9 Course Training Institute in kanchipuram|

    ReplyDelete