Skip to content
This repository has been archived by the owner on Aug 22, 2023. It is now read-only.
Eser Ozvataf edited this page Jun 17, 2015 · 7 revisions

General

1) Isn't this reinventing the wheel?

laroux.js is not a new technology, it's a new product that does the same job with a different mindset, and is better suited to certain requirements. Think of it like smartphones, in the end they all sit in your pocket and fetch your e-mail, but you probably have some strong opinions on why you chose what you chose.

2) Why should I use this instead of jQuery?

laroux.js has some significantly different design concerns and additional features, and it might better suit your coding style and project requirements:

  • It's modern: laroux.js was designed from the ground-up with HTML5 and CSS3 in mind, and targeted for modern (including mobile) browsers. Well-embraced standards of today feel right at home.

  • It's goal-oriented: laroux.js is designed to take the shortest path and get the job done. Abstraction is minimized by design and nothing is overengineered.

  • Reads like Javascript: laroux.js doesn't work under layers of abstraction and its workflow is very similar to regular javascript. You can use laroux.js as much or as little as you want in your code without a complete overhaul. It's a set of shinier tools, not a new toolbox around which you have to change your habits.

  • No wrappers: laroux.js uses native DOM objects directly and doesn't use wrappers.

  • Runs faster: laroux.js is optimized to yield significantly better runtime performance on modern browsers.

  • You're in charge: laroux.js provides alternative methods with different trade-offs where possible, so you can tailor-code to your requirements. There's more than one way to skin a cat, and laroux.js assumes you know what you're doing.

  • Small footprint: laroux.js trims the fat, weighing in at only ~45KB with web extensions.

3) Is laroux.js a finished product? Is it truly 2.x?

Starting off, my requirement list was narrow, so I deployed the first version that fulfilled that list and believed to be production-ready as 2.0. Of course the project is still missing stuff, like unit testing and wider community support.

4) I've encountered some bugs/misnomers/mobile compatibility problems/etc. Are these intentional?

Probably not. Since this is a community project, you can open an issue on GitHub and get it fixed by me or someone else from the community.

5) Who makes the design decisions? Will that person always make the decisions?

As the initiator of the project, decisions so far have been made by me (Eser Özvataf). Having said that, this is an open-source community project and it belongs to the community. I will gladly hand over project leadership and continue my contributions as a member of the community as long as leadership stays democratic and inclusive.

Technical

1) Other products are cached on CDN and load just as fast. How does being small make it faster?

The runtime performance increase is due to code optimization, not physical size. See the benchmark results.

2) Why is there an extend method on $l?

It's basically for extending existing functionality and basic module support for laroux.js's itself.

3) So it is modular?

The source code might seem modular by the physical structure but laroux.js isn't actually that so. It's tightly-coupled with its organs as a design choice. Due to this, each organ that stays in the controllable area assigns itself using extend.

4) Does it support Internet Explorer?

In previous versions I coded some polyfills to patch IE8+ to get it work with laroux.js and everything was OK. However modern browsers' usage statistics improved day by day, I considered dropping backward compatibility in early versions of 2.0.0.

5) How versioning works?

As suggested by GitHub, laroux.js follows semantic versioning.

Clone this wiki locally