
WebGL Lesson 1 – A triangle and a square << Lesson 0Lesson 2 >> Welcome to my first WebGL tutorial! This first lesson is based on number 2 in the NeHe OpenGL tutorials, which are a popular way of learning 3D graphics for game development. Here’s what the lesson looks like when run on a browser that supports WebGL: Click here and you’ll see the live WebGL version, if you’ve got a browser that supports it; here’s how to get one if you don’t. More on how it all works below… A quick warning: These lessons are targeted at people with a reasonable amount of programming knowledge, but no real experience in 3D graphics; the aim is to get you up and running, with a good understanding of what’s going on in the code, so that you can start producing your own 3D Web pages as quickly as possible. There are two ways you can get the code for this example; just “View Source” while you’re looking at the live version, or if you use GitHub, you can clone it (and future lessons) from the repository there. You’ll see the following HTML code: Next: . .
HTML5 Reset OpenGL Step by Step - OpenGL Development on Linux Grunt: The JavaScript Task Runner Learn OpenGL, extensive tutorial resource for learning Modern OpenGL JavaScript Code Smells In the past I've given presentations, recorded videos, and written blog posts about fixing common JavaScript and jQuery bugs. This is a good skill to have, but what about working code? Fixing broken code is important, but have you ever gotten into the situation where your code works, but it doesn't feel quite right... maybe even smells? "A code smell is a surface indication that usually corresponds to a deeper problem in the system" --CodeSmell by Martin Fowler As we grow as developers we strive to write more maintainable code, but on our journey we often times don't know what that looks like yet. Your JavaScript may pass stardard JSHint rules, but that doesn't mean it's legit. Most developers can smell brittle and fragile code a mile away, but it takes time and training to combat against these smells. Video The following video was recorded this year at FluentConf. Types of Smells The following are the types of smells that I cover throughout the presentation. Slides
OpenGL Step by Step - OpenGL Development on Linux Angular Classy Angular's controllers are super-simple which is fantastic for getting started (they're just functions). Because they are just functions, there's lots of different ways to write Angular controllers. This is powerful but can also lead to a lack of structure, especially when many people (with many different coding styles) are working on the same codebase. It can be helpful to have something a little more structured and prescriptive. Enter Angular Classy! The code to the right is a Classy controller for a simple Todo application. Hover your cursor over the code on the right for comments and explanations. Injecting Dependencies Angular veterans will know that if you want your Angular code to work with minifiers then you have to annotate your dependencies (i.e. list your dependencies twice), like so (without Classy): app.controller 'AppCtrl', ['$scope', '$location', '$http', ($scope, $location, $http) -> ] If you want to add/remove a dependancy then you need to remember to do it in two places. FAQs
Angular directives for Bootstrap The $uibPosition service provides a set of DOM utilities used internally to absolute-position an element in relation to another element (tooltips, popovers, typeaheads etc...). getRawNode(element) Takes a jQuery/jqLite element and converts it to a raw DOM element. parameters element(Type: object) - The element to convert. returns (Type: element) - A raw DOM element. parseStyle(element) Parses a numeric style value to a number. value(Type: string) - The style value to parse. (Type: number) - The numeric value of the style property. offsetParent(element) Gets the closest positioned ancestor. element(Type: element) - The element to get the offset parent for. (Type: element) - The closest positioned ancestor. scrollbarWidth(isBody) Calculates the browser scrollbar width and caches the result for future calls. isBody(Type: boolean, Default: false, optional) - Is the requested scrollbar width for the body/html element. (Type: number) - The width of the browser scrollbar. position(element, includeMargins)
21 Useful Workflow Tools for AngularJS Developers These days, AngularJS is one of the most popular technologies around the web. It has simplified web application development to a great extent. Currently, it is a popular name buzzing in the community of developers and technology enthusiasts. With AngularJS, one can build a variety of web applications and websites. You can also look upon “Free Ebooks to learn AngularJS” to start development in this technology. AngularJS applications can also be integrated in to an existing system or project. AngularJS Frameworks 1) Ionic Ionic is an open-source, front-end framework for developing mobile applications with HTML, CSS and JavaScript. 2) Supersonic Supersonic is a front-end framework for developing data-driven hybrid apps and cool user interfaces for mobile devices. 3) LumX Lumx is a responsive front-end framework based on AngularJS and Google Material Design guidelines. 4) Radian Radian is an Angular JS framework ideal for working on multiple development projects. 5) Mobile Angular UI 7) CodePen
Model pattern for Angular JS A word of caution, don’t get fooled. Even though this guide starts rather simply with things you know and take for granted; that’s just an introduction or preparation of a context if you will… It soon progresses to hardcore ES6 goodness, you are searching for, so no worries! Angular before models Most of the old Angular JS tutorials on the internet (and also projects you encounter while working for the clients) are still using simple approach where the $http service is used directly in the controller and the data is then unwrapped and assigned to some $scope property so that it is usable in the html template. Storing data in controller’s $scope doesn't belong between recommended practices for some time now. The protomodel Some articles (e.g.: this & this) have proposed that $http request should be resolved directly in the service and then stored in some exposed (public) service’s variable. Syntax used in the following examples Simple model Fetching the data Using model in component Conclusion