NaN:NaN
NaN:NaN
--:-- / --:--
Newgrounds Background Image Theme

Vikingtothemax just joined the crew!

We need you on the team, too.

Support Newgrounds and get tons of perks for just $2.99!

Create a Free Account and then..

Become a Supporter!

The Programming Library Thread

1,252 Views | 4 Replies
New Topic Respond to this Topic

As well as the flash thread, I thought it would be beneficial to have a thread dedicated to useful libraries that everyone has come across.
If you stumble across a library, toolkit, engine, or framework you think is useful, make sure to post it here so others can benefit as well ^.^

format:
Library name and link
Language(s)
Short description

Though i'm not terribly familiar with libraries outside of Flash, i'll start this thread off with what I have.

---

JQuery
language: JavaScript
A library aimed at making JavaScript more programmer-friendly. No more messing around with browser versions and quirks and bugs, just write what you need and move on with your day.

-

OGRE
language: C++
I stumbled across this not too long ago, and decided it looked nice. I haven't yet had the pleasure of using it, but testimonials never lie, right?

-

Java 3D API
language: Java
I started learning more about Minecraft out of curiosity, and one day decided to try my hand at creating a 3D cube. This seems to be the only 3D library (API) for Java.


Programming stuffs (tutorials and extras)

PM me (instead of MintPaw) if you're confuzzled.

thank Skaren for the sig :P

BBS Signature

Response to The Programming Library Thread Nov 6, 2012


I posted in your Flash thread as well, so I figured I'd post here too.
Plus I know a lot more libraries and frameworks for non-Flash environments.

---

Boost
Language: C++
The most comprehensive collection of libraries for C++ that exist. There is a saying when it comes to C++ programming: "there's a Boost library for that".
No matter what you are doing if you are doing it without Boost you are probably making your life more difficult than it needs to be. It has libraries for file input, sockets, timers, smart pointers, data containers, and much more. Seriously, there are a lot of libraries.

Boost libraries are also some of the most comprehensively tested around. If you're not using Boost you should start.

-

Simple and Fast Multimedia Library
Language: C++
An API that greatly simplifies working with multimedia, including, but not limited to, OpenGL, the Windows API and X11. Anyone who has ever worked with these and had to set them up from scratch knows how much of a headache can be. SFML is the Advil that will completely alleviate that headache.
Has comprehensive tutorials found here that can get even a beginner to SFML up to speed. For an example of how much it simplifies GUI work one only needs to look at the tutorial for creating a window.

-

Simple Directmedia Layer
Language: C and C++
A library for accessing and managing user input (such as keyboard and mouse) and OpenGL. Just like SFML there are comprehensive tutorials on how to use it on their website available here. In my personal experience I've found SFML to be easier to work with when compared to SDL, but they are both excellent tools.

-

normalize.css
Language: CSS
An alternative, and in my opinion a superior one, to reset scripts. It is best described by the blurb found on the GitHub page so I will just copy and paste that: Normalize.css makes browsers render all elements more consistently and in line with modern standards. It precisely targets only the styles that need normalizing.

-

reset5
Language: CSS
A reset script for CSS that does exactly that: resets everything to appear the same across all browsers. If you do choose to use a reset script over normalize.css then this is the one you should use.

-

jMonkeyEngine
Language: Java
A game engine that utlises OpenGL. I do not know much about it, but reading it makes it out to be a solid engine. It supporting OpenGL and being in Java means it is cross-platform on all accounts as Java executables do not require re-compliation to work on different platforms, and OpenGL is the 3D standard.
For some reason there are no apparent links to the documentation on their website, but they can easily be found through Google. They are available here.

-

AJAX Push Engine
Language: JavaScript (both server and client side)
An engine that allows direct communication with a server solely with JavaScript and AJAX. Is very robust and powerful. The documentation is a bit lacking in comparison to other JS frameworks/engines, but ultimately it is plenty adequate. The demos page, found here, show of the true power of APE, from a simple chatroom to a 2D MMORPG.

-

Modernizr
Language: JavaScript/HTML/CSS
A library for modernising legacy browsers, such as Internet Explorer 6-8. In some older browsers, such as IE 6-8, HTML5 elements are not detected and therefore cannot be styled with CSS. Any attempts to style them will be ignored and potentially break entire layouts. Modernizr detecs legacy browsers and fixes that problem, and does so efficiently.

-

MooTools
Language: JavaScript
A framework that is comparable to jQuery even though it is designed to solve different problems. The main goal of jQuery is to make working with the DOM easier. MooTools, while it can work with the DOM, is designed to make doing things in JavaScript that don't involve the DOM easier.
Just like jQuery it is incredibly well documented, written, and tested. It's one of the best JavaScript frameworks around.

-

node.js
Language: JavaScript (both server and client side)
A framework that is comparable to the AJAX Push Engine. It can essentially be considered a web-server replacement for things such as Apache or nginx. You can think of it as the JavaScript equivalent of Flask.
I've played around with it, and personally didn't like it, but that is only my opinion; it's still a pretty solid framework. As a note, it has the same problem as the AJAX Push Engine: its documentation isn't as good as it could be.

-

SWFObject
Language: JavaScript
A library for easily and efficiently embedding SWF objects onto HTML pages. Short of not being able to use JavaScript there really isn't much of a reason to not use SWFObject.
Looking at the documentation is all it takes to see why SWFObject is so useful.

-

CodeIgniter
Language: PHP
An MVC framework for developing web applications. Is one of the fastest PHP frameworks around; possibly the fastest. Is an excellent tool all-around, but has the drawback that it doesn't make much use of newly added PHP features. Can be essentially considered a PHP 4.x application.
Is well documented and easy to use, and the framework I have the most personal experience with. If you do not have support for PHP 5.3 then this is definitely the framework you should use.

-

Laravel
Language: PHP 5.3
An MVC and RESTful framework for developing web applications. Is one of the best PHP frameworks around; makes very extensive use of the newly added OOP features of PHP, but as such requires a PHP version of at least 5.3. Is very well documented and easy to use. If you are looking to start a new web application then Laravel is an excellent choice; short of not having PHP 5.3 there isn't much reason to use a different framework in that scenario (i.e. beginning a brand new project).

-

Django
Language: Python
An MVC framework that acts as a web-server. First and foremost this framework is massive. It was originally designed as a web framework for a newspaper, but eventually grew into what it is today. Is pretty much the most comprehensive and well-tested Python web frameworks around. It has built-in support for virtually everything you will ever need to do for developing web applications. This thing is an absolute beast.
Incredibly well-documented, but will be a bit difficult for a beginner to setup. I would recommend a beginner to Python web development to choose a lesser complicated framework before using this.

Also has one of the most mind-blowing admin panels of anything web related ever.

Response to The Programming Library Thread Nov 6, 2012


Flask
Language: Python 2.x
A framework that acts as a web-server. One of the best Python 2.x web frameworks around. It is very well documented, and highly tested. One arguable downside is that it does not support Python 3.x, and given the creator's opinion of Python 3 that is unlikely to change.
Makes extensive use of function decorators, so if you don't like those you probably won't like Flask.

-

Jinja
Language: Python 2.x
A template engine generally designed for creating HTML-based templates. Created by the same guy whom made Flask, and as such works very well with it, and is also not compatible with Python 3.x. If you are writing anything in Python 2.x that requires a template then you can't go wrong with Jinja. Is one of the best Python template engines around in my opinion.

-

Pygame
Language: Python 2.x
A game development library. Is best suited for developing 2D games, but is capable of creating games in 3D if other libraries are used as well. Compared to development libraries for C/C++ it is a bit lacking, especially its documentation, but given that it's still a solid library and allows you to make a game with Python it's worth using.
Is compatible with Python 2.x, but it is possible to port it to newer versions of Python.

-

Pyramid
Language: Python 2.x or Python 3.x
A framework that acts as a web-server. Is very comparable to Flask as they essentially accomplish the same thing through different means. The two biggest differences between them is that Pyramid supports Python 3.x, and does not use function decorators. In my opinion Pyramid also has more extensive and well-written documentation.
Both Flask and Pyramid are excellent tools, so ultimately which you choose depends on which you personally prefer, and if you need support for Python 3.x or not.

-

Ruby on Rails
Language: Ruby
An MVC web framework that is pretty much the "go to" framework for Ruby web development. It, much like Ruby as whole, essentially turns web development into simple, almost "English-like" code. I have no personal experience with it, so I do not have much to write about it, but there is one thing I want to stress about Ruby on Rails: it's really good.

Response to The Programming Library Thread Nov 7, 2012


At 11/6/12 08:30 PM, Diki wrote: I posted in your Flash thread as well, so I figured I'd post here too.

I saw that, thanks ^.^

Plus I know a lot more libraries and frameworks for non-Flash environments.

I saw that, too!
I looked at a few and thought they were pretty useful, i'll take a look at more tomorrow :P


Programming stuffs (tutorials and extras)

PM me (instead of MintPaw) if you're confuzzled.

thank Skaren for the sig :P

BBS Signature

Response to The Programming Library Thread Nov 7, 2012


Bootstrap
Language: HTML, CSS, Javascript
Front-end framework for faster web design.


BBS Signature