Learn how to make use of the new animation hooks in AngularJS
AngularJS is an outstanding, all-inclusive and extensive framework that is phenomenal for crafting together full-blown
JavaScript MVC apps with small amounts of code. But how do you stick in animations into your application?
You could simply use CSS transitions combined with CSS classes, but that doesn't hook into the guts of your app. Or you could somehow tie in
callbacks into your directives, but that's a maintenance nightmare and it slows down your app too much (plus it's hard to test).
Up until now, it was safe to say that native animations were not present in AngularJS. Well animation is here and yearofmoo is
well prepared to hook you up.
So lets take a look at how exactly make use of this great new feature with the world's best JavaScript MVC framework.
Read More
Learn how to fully test your AngularJS application with Testacular
One of the major areas of AngularJS development which needs to be covered in better detail is how to test your application. But wait,
how do you do that? How do you setup your test environment? How should you organize your code? How do you setup a runner
and how to automate the process? The bigger question is how do you usually test your JavaScript code?
Do you use a browser-independent JavaScript tester
like NodeJS, V8 or Rhino? Do you use a hidden browser like PhantomJS or Headless Webkit?
Or do you go all out and test out your application in a browser or multiple browsers?
You may also be wondering what exactly to test in your application? What should my tests really look for? How should I write my specs? As you can see
there are many questions to answer.
It doesn't take much time to realize that testing JavaScript is difficult and finicky.
However, if you wish to get a robust understanding
of how to properly test your JavaScript code within your AngularJS application, then continue and read along... :)
Read More
Programming,
AngularJS,
web,
webdev,
testing,
BDD,
TDD,
testing,
testacular,
tutorial,
Google,
browsers
Turns out it is possible to have your AngularJS application indexed
AngularJS and just about all JavaScript MVC frameworks modify the contents of your HTML structure which make the pre-rendered HTML
invalid for search engines. Luckily there is a way to get around this and to have full SEO support for your AngularJS
application by using some special URL routing and a headless browser to retrieve the HTML for you.
Continue reading this article to figure out how to make this amazing framework work well with your favourite search engines.
Read More
Programming,
AngularJS,
angular,
SEO,
web,
webdev,
AJAX,
indexing,
Google,
caching,
testing,
PhantomJS,
Bing,
search-engines,
testing,
MochaJS
Deploy your static website to a S3 bucket in under five minutes using this gem
Static websites (websites with no backend server, no database) are cheap to host with Amazon S3 and can easily be managed from the command line.
Simple-S3 is a small gem that makes deploying your
static website to S3 very easy. All that is required is to
create a bucket, install the gem, set the credentials and then upload your files. You can also set Simple-S3 to invalidate your cloudfront
distribution very easily. Other approches invovle using a S3-FTP client to upload your files or mounting the S3 bucket onto your machine,
however this may take more time than necessary to setup. This approach uses a single gem and a single command to push your static files to your
S3 bucket. You can also use this gem to upload other static content to a server that doesn't have to be a website.
Read More
Git,
plugin,
simple,
S3,
Amazon,
CloudFront,
gem,
Ruby,
Rubygems,
web,
upload
Make way for another amazing article which covers more of AngularJS
Due to the popularity of the previous article,
Use AngularJS to power your web application, I've decided to cover more of AngularJS to make it fun and easy for all developers
to play around with it. AngularJS is an incredible tool, but a lot of the more advanced features are hidden in deep within the
documentation and others are too tricky to learn direclty. AngularJS is also a fairly new product and as a result there are many features
that are yet to be discovered and blogged about.
This article will cover more of the hidden gems of AngularJS and introduce new development tricks and methods to supercharge your AngularJS application.
Pleaes read onwards if you wish to become an AngularJS web guru :).
Read More
Programming,
AngularJS,
angular,
MVC,
web,
development,
tutorial,
MVVM,
Google,
scope,
directives,
templates
A brand-spankin' new yearofmoo website powered by jekyll
In case you haven't noticed, yearofmoo looks a bit different lately.
The entire website has been converted into a static HTML website, ported and rebuilt from Wordpress over to a blogging platform
called Jekyll, hosted on Amazon S3, delivered by Amazon CloudFront and resolved with Route 53.
This blog article will quickly go over some of the new features of yearofmoo and explain briefly how the hosting of the new website is setup.
Read More
yearofmoo,
website,
S3,
Amazon,
CloudFront,
Jekyll,
Ruby,
Rubygems,
web,
upload,
syntax,
mobile
AngularJS is a truly amazing approach to developing JS-heavy web applications
AngularJS, by Google, is a well-organized, well-tested,
versatile, powerful and flexible JavaScript MVC framework
for building rich client-side applications.
You still may need to have a server-side backend, but the majority of the user-interactivity
logic will be delegated to the client-side. This includes stuff like form submissions
which are handled via AJAX, model validations, template handling and
data-binding. If these things are foreign to you then read onwards and see how you can
benefit from building web applications in a much more radical way.
Read More
Programming,
AngularJS,
angular,
MVC,
web,
webdev,
development,
tutorial,
MVVM,
Google,
jQLite,
scope
When your motivation runs short, its time to make some changes
In an effort to contribute more and more articles online which focus on more "human" areas of work and development
in the Web Development and Computer Science field, this article covers some blocks which just about everyone
runs into in their day to day life as a programmer, designer, developer or code monkey.
Your work, your life, your way of thinking is what gets you from point A to point B. It doesn't matter which side of the fence
you stand, whether it be Web Development, Open Source development, Rails, PHP, Functional
or Imperative programming ... you will run into the same problems in the end if you don't take the next step forward. On occasion,
however, everyone runs into blocks, burns out, gets unmotivated or just completely starts to hate their work and life in relation to what
they're doing. What's important is not to get stuck or depressed about it, but to analyze and reflect on what's bothering you and move past it.
Read More
A super useful tool for automating file concatenation within your git repo
Git-Concat is a tiny plugin which is installed into your git repository which will
allow you to specify a list of input and output files which will be concatenated together each time a commit is issued.
The plugin itself takes in a manifest file which is in YAML format. The tool itself is very useful for plugin
development and small projects where a master source file is required each time new code is put into the repository.
Filters can also be added so that any operation that can be run from the command line can be directly applied
to the final concatenated file just before its committed. The Git-Concat tool is
found under the plugins area.
Read More
What exactly is Active Record Store and how to use it with Rails 3.2
Rails 3.2 was released earlier today and it provides a variety of new features including: Active Reload,
Faster Dev Mode, Tagged Logger and, of coarse, Active Record Store. When Active Record
store was released I was a bit curious as to how it works since I only saw the same example on every blog out
there and the example itself just wasn't doing it for me. Therefore this article will briefly explain how to
use Active Record Store and how the contents of are stored in the database.
Read More