Comments (5)
During my brief experience with Local Support, I noticed that the organization index page fetches all the organizations information, everything you would need for the show page. A SPA would in fact help optimize the app because you reduce the number of times you need to go back to the server and fetch information (because you already have everything in the index page to begin with). Local Support is actually a great app to switch to a SPA, because it will be much easier to integrate information from other sources (such as Events and Volunteering opportunities) without having to reload another 500 records worth of JSON. Also, as @johnnymo87 mentioned, the application is easier to be made more interactive, updating the map from the search box or updating the search box from the map, this two way interactivity is much easier to achieve on the client side than dealing with complex routes on the server. Not sure how this plays in with the current direction of Local Support, but I still think this would be a good idea.
The only issue I see with this approach is developer resources, at the moment we do not have many developers who are competent with angular, hopefully this will change in the future (front-end frameworks are probably the next biggest thing after Rails, so any developer should invest the time to learn it!). I am integrating angular with Codealia, as the project matures, I expect to see more people in Agile Ventures competent in angular.
from localsupport.
This would indeed work well as a single page app (SPA).
I am concerned about Local Support's commitment to support older browsers, which AngularJS doesn't. I think we want IE7 and later to work. AngularJS 2 will drop support for IE9 afaik.
Instead of a wholesale migration to a single page, the interactive features you mentioned could be provided by AJAX, with, I imagine, better progressive enhancement. I offer no opinion on whether Rails AJAX or AngularJS SPA would be more difficult to engineer or maintain.
from localsupport.
Rails AJAX can get pretty messy very quickly, a framework like Angular will encourage developers to write better code, as opposed to giving them too much freedom. However the issue with older browser support is a legitimate concern, if the client wants older browser support, we will have to fall back to Rails AJAX. On a different note, did anybody actually test LocalSupport in older IE?
from localsupport.
We don't have to upgrade to Angular 2 when it comes out if we don't want to.
from localsupport.
well no, but there is still a question of how far back we want to support. Any inputs in light of the above arguments @tansaku?
from localsupport.
Related Issues (20)
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] The action 'show' could not be found for UsersController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] Invalid path parameters: Invalid encoding for parameter: �
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] The action 'index' could not be found for UsersController
- [Airbrake] [Production] SSL_connect returned=1 errno=0 state=unknown state: certificate verify failed (certificate has expired)
- [Airbrake] [Production] Invalid path parameters: Invalid encoding for parameter: �
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] The action 'show' could not be found for UsersController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] The action 'index' could not be found for UsersController
- [Airbrake] [Production] The action 'show' could not be found for UsersController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
- [Airbrake] [Production] The action 'index' could not be found for UsersController
- [Airbrake] [Production] Invalid path parameters: Invalid encoding for parameter: �
- [Airbrake] [Production] The action 'show' could not be found for UsersController
- [Airbrake] [Production] uninitialized constant ClickThroughsController
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from localsupport.