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

325 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. 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
  4. 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
  5. Here you Can Download Stock Note 4 Firmware Free With Full Speed

    sm-n910f firmware

    ReplyDelete
  6. 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
  7. 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
  8. Thanks for a your wonderful article with working examples code.

    - Divya,
    Trainer,
    Best Angular Training Center

    ReplyDelete
  9. 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
  10. Really an amazing post by reading your post i gained more information.Java Project Center in Chennai | Java Project Center in Velachery

    ReplyDelete
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. A very good blog
    https://litementors.in/courses/digital-marketing-training-in-chennai/

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

    ReplyDelete
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. This comment has been removed by the author.

    ReplyDelete
  27. 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
  28. This comment has been removed by the author.

    ReplyDelete
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site
    Best dotnet Training Institute in Kanchipuram

    ReplyDelete
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. Useful information and kindly keep update such a nice blog. Thanks for sharing...
    Best tally erp 9 Course Training Institute in kanchipuram|

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

    ReplyDelete
  61. 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
  62. Nice blog.Your blog is really useful for me. Thanks for sharing this informative blog.
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    Best Graphic Designing Course Training Institute in kanchipuram|

    ReplyDelete
  86. 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
  87. Interesting post! This is really helpful for me. I like it! Thanks for sharing!
    Best CCNA Course Training Institute in kanchipuram|

    ReplyDelete
  88. Attend The PMP in Bangalore From ExcelR. Practical PMP in Bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The PMP in Bangalore.
    ExcelR PMP in Bangalore

    ReplyDelete
  89. I am read your post was very interesting good valid information
    keep sharing more information...
    Best Tally Erp9 Course Training Institute in kanchipuram|

    ReplyDelete
  90. Quite Interesting post!!! Thanks for posting such a useful post. I wish to read your upcoming post to enhance my skill set, keep blogging.
    No:1 Tally Training Academy in kanchipuram

    ReplyDelete
  91. Really it was an awesome information...very interesting to read..You have provided an nice blog....Thanks for sharing..
    No:1 Tally Training Academy in kanchipuram

    ReplyDelete
  92. 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 Tally Training Academy in kanchipuram

    ReplyDelete
  93. Thanks for sharing in this blog...its very useful for us...keep on going...
    Best MS Office Course Training Institute in kanchipuram|

    ReplyDelete
  94. This is really awesome. Full of knowledge and latest information.Thanks for sharing.
    Best JAVA / J2EE / J2ME Course Training Institute in kanchipuram|

    ReplyDelete
  95. The provided information’s are very useful to me.Thanks for sharing.Keep updating your blog.

    No:1 Networking project Centre in kanchipuram

    ReplyDelete
  96. This was a worthy blog. I enjoyed reading this blog and got an idea about it. Keep sharing more like this.
    No:1 Best Selenium Automation Training Center in kanchipuram|

    ReplyDelete

  97. Nice post... Really you are done a wonderful job. Thanks for sharing such wonderful information with us. Please keep on updating...No:1 CCNA Exam Center in Chennai|

    ReplyDelete
  98. I have read your post, it was good to read & I am getting some useful info's through your blog keep sharing.......Best Ethical Hacking Training Center in Kanchipuram

    ReplyDelete
  99. DevOps Training in Chennai
    I am glad that I have visited this blog. Really helpful, eagerly waiting for more updates.

    ReplyDelete
  100. Nice blog with excellent information. Thank you, keep sharing....
    Regards,....Best Dotnet Project Center in Kanchipuram

    ReplyDelete
  101. This blog is informative.It helps me to gain good knowledge.It helps to understand the concept easily. please update this kind of information…No: 1 IT Project Center in Chennai|

    ReplyDelete
  102. The information you shared is very effective for learners. I learnt this technology very well with the help of this article.Thanks for this useful information.Keep updating.
    Basic Computer Course in kanchipuram

    ReplyDelete
  103. hi welcome to this blog. really you have post an informative blog. it will be really helpful to many peoples. thank you for sharing this blog.No: 1 Final Year Project Center in Chennai|

    ReplyDelete
  104. Good one, it is very useful for me to learn and understand, thanks for sharing your information and ideas.. keep rocks..No: 1 AWS Exam Center in Chennai|

    ReplyDelete

  105. I am really happy with your blog because your blog is very unique and powerful for new reader.No: 1 Microsoft Exam Center in Chennai|

    ReplyDelete

  106. I am reading your post from the beginning, it was so interesting to read & I feel thanks to you for posting such a good blog, keep updates regularly. 
No: 1 AZURE Exam Center in Chennai|

    ReplyDelete
  107. 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
    AWS Certification in Chennai

    ReplyDelete

  108. I have read your blog its very attractive and impressive. I like it your blog.No: 1 Python Certification in Chennai|

    ReplyDelete
  109. Thanks for posting this useful content, Good to know about new things here, Keep updating your blog...No: 1 Blue Prium Certification in Chennai|

    ReplyDelete
  110. Nice blog. Thank you for sharing. The information you shared is very effective for learners I have got some important suggestions from it…
    Android Project Center in Chennai

    ReplyDelete
  111. Hello , Really awesome blog. Your blog is really useful for me. Thanks for sharing this informative blog. Keep updating your blog.No: 1 JAVA Application Center in Chennai|

    ReplyDelete
  112. Great and useful article.Thanks for taking time to share

    this post
    Android Project Center in

    Chennai

    ReplyDelete
  113. Nice blog. Thank you for sharing. The information you shared is very effective for learners I have got some important suggestions from it.No: 1 JAVA Application Center in Chennai|

    ReplyDelete
  114. These provided information was really so nice,thanks for giving that post and the more skills to develop after refer that post. Your bolg really impressed for me,because of all information so nice.No: 1 NS 2 Project Center in Chennai|

    ReplyDelete
  115. Quite Interesting post!!! Thanks for posting such a useful post. I wish to read your upcoming post to enhance my skill set, keep blogging.No: 1 BBA Project Center in Chennai|

    ReplyDelete
  116. I found a lot of interesting information here. A really good post. keep updating.
    MBA Project Center in Kanchipuram

    ReplyDelete
  117. Wonderful post with great piece of information. I'm learning a lot from your blog. Keep sharing. No: 1 CCNA Training Center in Kanchipuram|

    ReplyDelete
  118. Thanks for giving great kind of information. Thanks for your excellent blog, nice work keep it up thanks for sharing the knowledge. No: 1 Graphic Designing Course in Kanchipuram|

    ReplyDelete
  119. Your Blog is really amazing with smart and unique content..Its very useful to everyone to understand the information clearly.. No: 1 CCNA Training Center in Kanchipuram|

    ReplyDelete
  120. Very nice post here and thanks for it .I always like and such a super blog of these post.Excellent and very cool idea and great blog of different kinds of the valuable information's. No: 1 IOS Training Center in Kanchipuram|

    ReplyDelete
  121. Good blog. I gained more information about your post. keep updating. No: 1 MS OFFICE Training Center in Chennai|

    ReplyDelete
  122. I found a lot of interesting information here. A really good post. keep updating.
    Python Training Center in Chennai

    ReplyDelete
  123. Thanks for your informative blog. Your post helped me to understand the future and career prospects. Keep on updating your blog with such awesome blog.
    Software Testing Training institute in Kanchipuram

    ReplyDelete
  124. Really it was an awesome blog...very interesting to read..You have provided an nice information....Thanks for sharing..
    BBA Project Center in Chennai

    ReplyDelete
  125. I am following your blog from the beginning, it was so distinct & I had a chance to collect conglomeration of information that helps me a lot to improvise myself. I hope this will help many readers who are in need of this vital piece of information. Thanks for sharing & keep your blog updated. No: 1 Blue Prism Training Institute in Chennai|

    ReplyDelete

  126. Thanks for your informative blog.Your post helped me to understand the future and career prospects. Keep on updating your blog with such awesome blog. Best Hardware and Networking Training institute In Chennai |

    ReplyDelete
  127. your blog contain very useful information. Really hereafter I am very big follower of your blog.. No: 1 Best Photoshop in Kanchipuram|

    ReplyDelete
  128. Awesome Post! I like writing style, how you describing 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 Best Corel Draw in Kanchipuram|

    ReplyDelete
  129. I have read all the articles in your blog; was really impressed after reading it.Thanks for giving nice information from your blog.. No: 1 Advanced MATLAB Course in Kanchipuram|

    ReplyDelete
  130. the blog is very useful, interesting and informative. thank you for sharing the blog with us. keep on updating.
    Tally ERP Certification in Kanchipuram

    ReplyDelete
  131. The best thing is that your blog really informative thanks for your great information! I have got some important suggestions from it.
    Photoshop certification in Kanchipuram

    ReplyDelete
  132. Thank you for sharing in this information. can learn a lot and could also be a reference, I hope to read the next your blog updates. No: 1 Software Testing Certification in Kanchipuram|

    ReplyDelete

  133. I ever had seen this information over the blog sites; actually I am looking forward for this information. Here I had an opportunity to read, it was crystal clear keep sharing…I have an expectation about your upcoming post.
    Regards, No: 1 Adobe Photoshop Training Institute in Kanchipuram|

    ReplyDelete
  134. Great post. This blog is really very interesting and enjoyable. I think it’s must be helpful and informative for us. Thanks for sharing your nice post. No: Adobe Photoshop Training Institute in Chennai

    ReplyDelete
  135. Excellent Blog!!! Such an interesting blog with clear vision, this will definitely help for beginner to make them update.
    No.1 Java Training Center in Chennai

    ReplyDelete

  136. I really enjoyed while reading your blog, the information you have delivered in this post was damn good. Keep sharing your post with efficient news.Regards, No: 1 Adobe Illustrator Training Institute in Kanchipuram|

    ReplyDelete
  137. Good blog. I gained more information about your post. keep updating. Best After Effects Training Institute in Kanchipuram|

    ReplyDelete
  138. Its a wonderful post and very helpful, thanks for all this information. You are including better information regarding this topic in an effective way. Thank you so much.
    Java Training center in Chennai

    ReplyDelete
  139. Very nice post here and thanks for it .I always like and such a super blog of these post.Excellent and very cool idea and great blog of different kinds of the valuable information's.Keep Sharing Best Adobe Premier Pro Training Institute in Kanchipuram|

    ReplyDelete
  140. Really it was an awesome information...very interesting to read..You have provided an nice blog....Thanks for sharing..
    Advanced MATLAB Course in Chennai

    ReplyDelete
  141. Interesting post!!! Thanks for posting such a useful information. I wish to read your upcoming post to enhance my skill set and keep blogging. Best Graphic Designing Training Institute in Kanchipuram|

    ReplyDelete
  142. this blog is creative and informative too thanks for sharing those information it is really useful for me and it is really good.
    Data Mining project Center in Chennai

    ReplyDelete
  143. Very intresting blog . It is useful for me. keep rock it

    ReplyDelete
  144. Your blog is awesome..You have clearly explained about it ...Its very useful for me to know about new things..Keep on blogging…
    Best Computer courses Training institute in Chennai

    ReplyDelete
  145. Very nice blog. It is very useful for me. I read your blog completely. I gather lot of information in this post. Thanks for sharing.
    Linux Certification Courses in Chennai

    ReplyDelete
  146. great blog, you have provided the right information that will be beneficial to somebody at all time. Thanks for sharing such valuable Ideas to our vision. Best Premier Pro Training Institute in Kanchipuram|

    ReplyDelete
  147. 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 JAVA J2EE Training Institute in Chennai

    ReplyDelete
  148. Great post. Wonderful information and really very much useful. Thanks for sharing and keep updating.
    CCNA Training Institute in Chennai

    ReplyDelete

  149. Thanks for this greatful information. all this information is very important to all the users and can be used good at all this process.please keep on updating.. Best RHCE Training Institute in Kanchipuram|

    ReplyDelete
  150. Thank you so much for sharing such an amazing post with useful information with us. Keep updating such a wonderful blog….
    No.1 CLOUD COMPUTING Training Institute in Chennai

    ReplyDelete

  151. Thanks you for sharing this unique useful information content with us. Really awesome work. keep on blogging. Best Advanced MATLAB Course in Kanchipuram|

    ReplyDelete
  152. I wondered upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon… Best PCB Course in Kanchipuram|

    ReplyDelete
  153. I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Best Embedded Training Course in Kanchipuram|

    ReplyDelete
  154. your way of expressing views and ideas are really awesome. thus it is exclusive and very much interesting. i like your encryption and thanks a lot. Best Adobe Illustrator Training In Kanchipuram|

    ReplyDelete
  155. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging… Best Adobe Illustrator Training In Chennai |

    ReplyDelete
  156. 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 Tally institute in chennai

    ReplyDelete
  157. Your Blog is really amazing with useful information.keep updating.. Bes PCB Training Course In Kanchipuram|

    ReplyDelete
  158. Simply wish to say your article is as astonishing. The clarity in your post is simply great, and I could assume you are an expert on this subject. Thanks a million, and please keep up the gratifying work.
    Adobe InDesign Training Academy in Chennai

    ReplyDelete
  159. I have read your blog. Good and more information useful for me, Thanks for sharing this information keep it up....
    Best CorelDraw Training in Chennai

    ReplyDelete
  160. Thanks for sharing your great information..Its really impressive and informative content..
    No.1 PCB Design Training Institute in Chennai

    ReplyDelete