Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I need to develop quite simple web application with some Ajax functionality and GUI components with Java as a server-side language. The main purpose for me is to learn sth about designing web app that I can make use of when I start looking for a job ... .I ran into lots of framework (RAP, Nice JSF implementations etc.) and there are also GWT and JQuery . I started reading about GWT and it seems to be great at the beginning, but there are limited number of visual components. When You missed one it seems to be much harder to write it with GWT than in JavaScript/JQuery (e.g sortable components).
Also:
If JavaScript is is easy why to learn API to just make translation?
The main argument seems to be that GWT is for developers who don't
know Java Script very well, but is JS harder than GWT API and
configuration to work with?
GWT offers also very nice Remote Procedure Call and translating
objects to JS, but there are lots of libraries like DWR.
You need also to use standard servlet to e.g send file stream to a
user, so You need also to save it to a Database or as a hidden XHTML files to make them available to servlet.
So should I start to learn GWT? It is really wide spread? Or maybe JSF implementations with Ajax support outperforms GWT in usability? The biggest problem I have that I cannot imagine how to solve simple problems in GWT while they are almost complete solutions with JQuery. Mixing JavaScript native code with GWT don't seems to be a good option also.
When working with GWT, its always better to now whats going on behind. So you have to learn HTML, CSS and JavaScript as anyway. Maybe you can start with less knowledge on browser frontend technologies. But you will come to the point where you need to know whats going on.
So ask yourself. Is your app large enough that its worth to start with complex GWT app. Also if you're on a large team and familiar with JAVA, Maven and Junit it makes senses.
On the other hand there are a bunch of small (backbone.js with jquery), middle (mootools) or large (extjs) JavaScript frameworks to build RIA.
I've never work with JSF, but all people a meet that used it, wasn't really satisfied.
After all I dont think its a good idea to select a framework by the current feature set of your app. As this can change of the time, you will have to implement it later with a technologie you not familiar with.
Note there is a table sort library for GWT as well: http://code.google.com/p/gwt-advanced-table/
GWT contains several unique features which make it difficult to be compared with other frameworks. The key point is that GWT isn't just a framework or library -- it's a toolkit. Consider:
Ability to use Java IDE's and debugger during development
Automatic generation of compiled scripts optimized for different browsers
Benefits of java for organization of code-base: OOP, package system, checked exceptions, compile-time type-checking etc.
These features make GWT suitable for big projects built by large teams that should be enhanced and maintained over a large time-frame. Off course, many projects do not have such requirements and therefore developers should give more weight to other consideration like widget library and learning curve.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am acting as web developer for a small startup, taking over as the only in-house developer to maintain and adapt the application that was initially put together by a team of contractors. I would consider myself to be at an intermediate level with Ruby on Rails. I know enough about front end technologies like HTML and CSS to use Bootstrap or Foundation effectively and write my own tweaks when necessary. However, I only can read the JavaScript code of other developers well enough to make small modifications to what's already in place.
I would like to become proficient in JavaScript to help round out my skillset but there seem to be a lot of JavaScript "options" out there and I'm not sure what's on the way in, what's on the way out, what's popular, what's most useful, easiest to start with, best fit for Rails applications and so forth. And by "options" I mean "regular" Javascript, jQuery, Node, Angular, etc etc.
In hopes that my question will meet SO terms as "answerable" I'd like to focus on the question of what kind of Javascript fits best with Rails and which technologies are the most generally relevant today (i.e. not on the way out of popularity already).
Your choice should depend on what you're doing. One case might be using Rails primarily on the back-end, pulling data from it, and then generating your markup and displaying content primarily on the front-end with JavaScript. In that case, you should look into a JavaScript framework like Ember.js or AngularJS. If you're going to be generating your markup primarily on the back-end with Rails, having that markup being pre-populated with content before being sent to the user, you might be better off using jQuery for DOM manipulation and the occasional AJAX request to your Rails back-end.
In the case you're looking for a framework: Yehuda Katz is a leading voice in the Ruby on Rails core team, and has a similar role inside of the Ember.js project. While this isn't strictly objective, I'd say that Ember is the JavaScript framework that most closely matches "The Rails Way". That said, any framework will integrate well if you're using Rails as a backend, and AngularJS is currently more popular and might be easier if you're looking for examples and helper libraries.
I'd like to point out that Ember is just a framework, just like jQuery is just a library. Knowing JavaScript from the bottom up is a very helpful thing when working with anyone's code. I highly recommend checking out the Learn JavaScript page on MDN, and maybe picking up a copy of JavaScript: the Good Parts by Douglas Crockford. The former has a bunch of free information about getting up to speed on JavaScript. The latter is a dense, and somewhat controversial book, but (in my opinion) is one of the best books about dealing with the language's rough edges.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
Just wanted to understand where does SAPUI5 stand as a framework.
(1)Is it like jQuery (library with host of utility functions, effects, animations etc)
or
(2)Is it like a MVC library like Backbone,Angular,Ember etc?
If 1, then how could it possibly supersede jQuery?
If 2, then what advantages & disadvantages would it have over these
other frameworks.
Apart from the fact that it's SAP's proprietary framework what really i would like to know is the principles & philosophy behind this framework, and how does it stand the test of time in front-end regarding-
MV* philosophy of building applications
building single-page applications
learning curve along with other frameworks like Backbone, Angular
(I mean if i learn SAPUI-5 does my learning curve for other
frameworks increase or decrease or how can it affect that)
And lastly can (if there is!) I create an ecosystem of SAPUI5 with other frameworks.
This is rather a large question that is in danger of having a very long answer, one which is also subject to opinion as well as fact. But I'll have a go.
First there's the "which toolkit" question. There's SAPUI5 which is the name of what the toolkit originally took (and still has), and this is subject to certain SAP licence restrictions. Since December 2013 there's also OpenUI5 which is the Open Sourced version of the same toolkit (minus a few things currently, but for the most part the same). And when people refer to UI5 they're collectively referring to both SAPUI5 and OpenUI5.
So while "SAPUI5" is proprietary, its sibling "OpenUI5" is very much Open Source.
UI5 is a full featured toolkit that includes, amongst other things:
MVC
data binding with support for JSON, XML and OData out of the box
module loading and management
support for component-based app creation
internationalisation (incl. RTL support)
routing
different libraries of controls e.g. rich desktop-specific controls in the sap.ui.commons and sap.ui.table namespaces, plus responsive controls for smartphone/tablet/desktop in the sap.m namespace (on which the SAP Fiori application suites are built)
To your question on jQuery - it uses jQuery and many other libraries, and builds upon them, so it's not a competitor for jQuery or a replacement for it. In fact, from personal experience, I'm not a jQuery expert but I build apps with UI5 just fine.
To your question on advantages and disadvantages vs other MV* frameworks, I don't think there's space in this answer to tackle such a wide-ranging question.
Not sure what you mean by standing the test of time regarding MV*; MVC has been around as a concept since almost the beginning of time, so I guess that has stood the test; UI5 is relatively young (2-3 years) so still has to prove itself in terms of years, but it's doing rather well so far if you consider the large scale of app development that's happening with it in the SAP world.
Learning curve? I'm traditionally a backend / integration developer and I picked up UI5 without too much bother. Difficult to answer the question without knowing your skillset and desire to embrace it.
Ecosystem inside SAPUI5? Not sure I understand that question.
Hope that helps a bit.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm looking to build a web app (online simple game) with javascript / HTML5 but I want a structured code.
I have do some research and Angular look like a good MVC framework.
http://angularjs.org/
Have you see other framework ? Angular is it a really good framework ?
Thanks
Edit:
Maintain javascript code is not easy and quickly becomes unreadable without an architecture that helps to develop properly.
I have a simple little web project, players are by team and have some kind of action that infuence the actions of other players.
I want a framework that allows to manage all data easily.
A little way to flex and AS3, ca would be to create the component and integrate easily into the html code.
Backbone js seems to be effective for the data binding with epoxy.
or http://docs.angularjs.org/guide/dev_guide.templates.databinding
I'll do more research because my question is too broad ...
I think this is a very broad question that simply choosing a particular library won't solve. AngularJS is great, but I think it's important to understand how to scale a javascript application. Here is a video of a presentation given by Nicholas Zakas. http://www.youtube.com/watch?v=7BGvy-S-Iag
Another good resource http://addyosmani.com/largescalejavascript/
Knowing these concepts will allow you to build an application that is capable of dropping modules in and out seamlessly. You will be able to change a module without affecting any other module because your program will be loosely coupled. Additionally, should you choose to switch from Angular to something else, this framework will allow you to swap the base library easily and without breaking very much of your code.
Also, using modules and a mediator will make your code easier to test. Testing is important in any non-trivial application. I hope this helps!
If you're looking to just quickly create a web server that can serve your javascript application, I highly recommend Rails. You can get a server up and running in just 15 minutes. Another good MVC framework is NodeJs with Express. Almost as easy to use as Rails and it's purely Javascript whereas rails is Ruby.
Here is a list of common MVC frameworks and you can choose one based on the complexity of you app and data models.
List of common MVC frameworks
if you really want to build a structured App using Angular Js Use the directory structure of ng-boilerplate
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I will be working on a web application project that will be demanding a rich UI interactive & high performance website.
Interactive in every possible sense that could be shown. That includes various types of interaction in terms of keyboard events, animations, simple yet effective usability, drag and drop, lightweight (while loading and rendering) etc.
I know a bit of ExtJS (Sencha JavaScript Library), javascript and some html5 coding.
My question is
Do I need to mix up all possible available JavaScript UI framework (ExtJS, jQuery, MooTools, Prototype, Angular JS etc ... ) libraries to make rich interactive UI ? If yes, are there any sample demo for the same ?
If not, is my goal achievable by using only pure html5 and pure javascript ?
Jquery UI, CSS and HTML5 would be enough...if you are really an expert in javascript and enjoy playing with objects, json, events, then it shoudn't be that difficult...otherwise, you have to import loads of libraries which will end up in performance issue, scalability and manageability.
A good approach is to have one single JS file, and one single image on webpage for icons...that you adjust its x, y positions...you can play with animations, no need to use flash objects. ExtJS is no doubt a great library...Use one library, and chose the best which can fulfill all your requirements.
I hope this helps.
MooTools and Prototype actually do DOM alterations whereas jQuery works in its own namespace. I've been only projects that mixed both jQuery and Prototype. You just have to set jQuery to no conflict mode and it should they should fine together although I'd highly suggest using only one.
I'm partial to jQuery since it has a large userbase and jQuery UI has a lot of stock widgets to use as a base, but it really comes down to your own coding style and project needs.
Good luck!
Without knowing about your application, there is no way to know if it can be built using only client-side technologies. Most applications of any significant complexity require at least some server-side logic. Of course you could use node.js to handle this to only require use of javascript.
I would not recommend mixing multiple frameworks if you don't have to. If you do see a framework that you think meets most all of your needs (i.e,. jQuery UI, etc.) then go for it. I would probably recommend jQuery as your main framework however, as there is simply a lot more plug-ins, libraries, etc. that use it than there are for competing frameworks, and a much larger user base to get help from through places like StackOverflow.
I would not expect to find the magic bullet framework that exactly meets all your needs, but with some investment in learning jQuery, you will find it is VERY flexible and VERY powerful to meet most UI needs.
For very complex thick client apps (which it sounds like you are shooting for), I would be remiss not to point out the excellent Backbone.js and Underscore.js libraries. They make building complex javascript applications much easier and play nicely with jQuery.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm working on a browser based game atm and already looking into options porting it to other platforms such as consoles or devices where playing in a web browser may not be suitable.
The game is pretty much all JavaScript with rendering done via a 2d canvas context.
What i was hoping for is that there is already a c++ library/api that will work in conjunction with maybe google's v8 engine to handle the canvas calls in JavaScript and render them with opengl or something similar
Does anyone know of a project out there that may be providing this functionality?
Otherwise how would you suppose I go about embedding my javascript in c++ with as little changes required to the javascript as possible as I don't really want to have to maintain too many differences between platforms?
Qt is a very nice C++ library compatible with LGPL licensing that among other things includes a webkit based widget with javascript support. Also as scripting language Qt uses javascript with a tight integration with C++ (it's easy to write a C++ class and and make it visible at the javascript level).
Qt is multi platform and comes with an highly sophisticated IDE.
Qt is not currently using V8 but the porting is in progress and they aim at providing a 100% backward compatible solution.
The only "problems" of Qt are IMO that:
It's huge
It's a framework, not a library. You cannot just "use" Qt easily, you should embrace the view (the documentation is however of excellent quality).
The long term prospects are a bit fuzzy (not as bad as a few months ago, tho)
I guess I'm a bit late here, but I'm searching for a similar solution. I found node-canvas and I do not know if it is feasible to hook that so it renders into something like an SDL or SFML-managed window or not.
But for my own purposes, I will port my code over to C++ and use Cairo directly with SFML and OpenGL.
Interesting idea - another possibility is using Adobe Air, and rendering the game via StageWebView and Flex 4. Here's some example code for using the thing if you're interested:
https://github.com/JustinBeckwith/frink/blob/master/frink-flex/src/controls/WebBrowser.as
An interesting Project that I have uses id FireBreath(firebreath.org). This is not exactly what you are looking for, but in some ways it would get you close. Firebreath allows the creation of browser plugins in C++. One of the features of Firebreath is it allows you to access and modify the DOM from the C++ in you browser plugin as well as create methods and properties in C++ that can be accessed from JavaScript on your page.