geomatico / geobricks-js Goto Github PK
View Code? Open in Web Editor NEWReusable modules for building a JavaScript application using require.js
Reusable modules for building a JavaScript application using require.js
If we use extensively geobricks-js we will have several projects coupled with the components on it. These components are going to evolve over time. Mainly at the beginning when design patterns are not mature, but also during time as technologies evolve. And this evolutions are going to make the projects that use geobricks-js out of date. Either we upgrade them, either we stick to the geobricks-js version we worked with.
Therefore I think that a branching strategy is necessary. A branching strategy that, for example, allows to use a 2 year old geobricks-js version on a huge project where upgrading to the last one is not possible. A strategy that allows too to include improvements on that version as critical bugs appear.
I have put in practice a little the one described here [1] and it did the trick. Any other experiences?
I think we have to document these things:
We have to determine if we want to generate html (or other format) from the module documentation. I don't think that's necessary, so I suggest this solution:
I don't know if I can define properly the problem since I haven't run into it myself, but I think the scenario is an application that has to add dynamically several instances of the same module. How are events managed by a single instance and not by all? How are these instances built? Are the instances modules themselves?
I think Oscar proposal is to create a factory module that returns objects. Problems with the context of "this" appear and changes to the message-bus are necessary.
I may have time in the following weeks to give it a try and see how we can keep oop away from geobricks-js. I have no alternative yet, though.
bootstrap, jquery ui, nothing.
¿Maybe also OL, leaftlet? As long as we only have components based on OpenLayers there is no need to differentiate with folders.
This will make easier the search of the module that matches your application, and also may help you to select the technology in the future based on the available modules for each one.
Incorporate javascript developing tools.
As @fergonco says, each item will require a its own issue and discussion when addressed.
The following list is only an outline:
(*)grunt has plugins to manage all the suggested tools: contrib-requirejs, mocha, contrib-jasmine, istanbul, jsdoc, contrib-jshint, contrib-uglify, contrib-cssmin, contrib-handlebars.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.