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
I've been googling for latest web apps, and found the following languages:
- Opa
- Dart
- Haxe
- CoffeeScript
Since these languages are new, there are not many information available.
Can anyone explain the advantages and disadvantages of these languages.
EDIT:
Which language is efficient?
What new features are available in each languages?
How can it improve existing languages like JavaScript?
Which will be easy to learn?
Opa
Functional programming
Pro: Run client, server, and database code in the same language
Con: Currently the least popular of these languages
Dart
Similar to Java/JavaScript
Pro: Can run client and server code in the same language (though in practice, this is not yet the best option)
Pro: In the future you will be able to run client code in the Dart VM in some browsers
Pro: Polymer MDV provides easy approach to encapsulation and re-use of components
Haxe
Similar to ActionScript
Pro: Mult-platform language: compile to other language/platforms besides for JavaScript (for instance, creating high-performance mobile games)
CoffeeScript
Similar to Ruby
Pro: Currently the most popular of these languages
Some features common to all the languages:
Compile to JavaScript
Interact with JavaScript code
I researched all of these for a project that never ended up happening. I never really got into CoffeeScript since it was less familiar to me given its Ruby flavor. Opa was very intriguing but I ultimately decided against it since it seemed to have a very small community, and I preferred something more class-based and object-oriented. I was familiar with Haxe already, having played around with it for a mobile game, but JavaScript didn't seem like a huge focus here: tutorials and samples were hard to come by.
With Dart, everything suddenly seemed to come together:
Given my Java/ActionScript/JavaScript background I knew the language before even writing a line of code
The WebUI (now Polymer) Model-Driven-View approach, provided a sane way to encapsulate and re-use components
A dedicated IDE (Dart Editor) that made debugging quick and easy
Pub package manager made it easy to quickly add 3rd-part libraries
Plenty of tutorials, articles, and documentation to help get me up to speed
Ultimately, you can build great web apps in any of these languages, but the one you choose will be influenced by your past experience. In my case, I was looking for a class-based, object-oriented solution, which made it between Haxe and Dart, and Dart was clearly the victor in terms of features, tooling, and support.
Related
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 7 years ago.
Improve this question
I have been a C-derived language (c, c++, c#, etc..) developer for about 7 years. I have managed to avoid doing scripting language programming so far. But trying to avoid the unavoidable is doomed to be a failing course.
Now I have to teach myself a scripting language or two for work. Before I start this "pleasant" journey of learning a new programming language again, I would like to have a high-level guidance about scripting languages.
Q1, Why did we invent scripting languages? What is so great about scripting languages (python, javascript, etc.) that other compiled languages cannot do?
Q2, I need to learn both Python and JavaScript. Is there any advantages to learn them together? Will I save time by doing so? Or it does not make sense to learn two different languages at the same time.
Q3, As we all know, learning the syntax of a language is just the beginning. What are the pitfalls we need to watch out for when learning scripting languages with a compiled language background?
For example, c++ syntax does not tell you that if you dont pair new with a delete, you leak memory.
void leaking_function()
{
//correct syntax in c++, but leaking memory every time it is called.
void* leak = new int[10];
}
Q1: why need scripting languages :
Answer :
Scripting languages are quick and easy .Compiled languages are much
more efficient - for which you pay an up front price in complexity.
you want to write something quickly and then never use it again, 'scripting' languages are what you want.
Features of scripting language:
easy to learn and use
minimum programming knowledge or experience required
allow complex tasks to be performed in relatively few steps
allow simple creation and editing in a variety of text editors
allow the addition of dynamic and interactive activities to web pages
editing and running code is fast.
Q2: I need to learn both Python and JavaScript. Is there any advantages to learn them together?
Answer :
comparison to JavaScript, Python is much well designed, stable and
robust. It has better, cleaner syntax and common-sense patterns.
Python is the predominant language in the world of scientific
simulations and data analysis.
JavaScript, on the other hand, is the language of the web. It's not the prettiest language out there, but you can use it to build rich applications that anyone in the world can run just by typing an address in their browser
Node.js has proven that it can more than hold its own outside of the
browser as well
Anyway learn both languages is a good deal. But in my openion take one from the above it will be upto your choice, its complitly depends on your working area and interest.Then learn that one in depth and work on it.
Q3: What are the pitfalls we need to watch out for when learning scripting languages with a compiled language background?
Answer:
If you know the basics of any programmig language then it is easy to learn scripting languages too.Most of the compiled language features are also included in scripting language too.
Note: you have to compile a C program before you can run it. But you don't have to compile a JavaScript program before you run it.keep this in your mind before you learn scripting language.
When you write scripting language always think about security hackers can easily hack our site if we did not provide a high security.
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'm diving into web development again (first time was an utter failure), and I have some pretty spectacular resources for learning both HTML5 and CSS3. What I want to begin studying next is JavaScript so I can have absolute control over my pages. But before I begin integrating JavaScript into my work, I'd like to use JavaScript solely as a programming language (with console I/O and basic programs) to familiarize myself first. What are the best tools for accomplishing this? Because thus far, I haven't found any browser/tool that approaches the simplicity of writing a source file, and clicking run like you might with a C++ program. Thanks.
Node.js is your best shot.
Node is used for:
Server-side applications (Sails, Express, Socket.io)
Various frontend-related scripting (Grunt, LESS)
You can try Node.js, that allows you to run Javascript programs from commandline. Other than that, Javascript runs in a browser.
I think JetBrains makes the best IDEs in the world. Their support of JavaScript, HTML5, and CSS3 is first-rate. I'd recommend looking at WebStorm as your IDE.
I would recommend jsfiddle.net which allows you to type and run code. I might also suggest codecademy.com which has a very good program to teach you javascript and many other languages as well. There is also a really simple part of there website called "codebits" where you can compile js, html, and css and play around. W3schools.com is also very helpful for reference.
If you are running windows, the Windows Scripting Host (WSH) can run both Visual Basic Scripting and JavaScript... with the JavaScript having full access to things.
Because Microsoft supprorted VB Script over JScript (their version of EMCAScript), it is difficult to find documentation, though it does exist. I have a fair number of admin tools written in JScript.
Because that's not how Javascript works. You can't read user input from console.
You can use any browser's development tools and write Javascript code line by line.
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.
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.
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 9 years ago.
Improve this question
I've been wondering to try out server-side javascript for a while. And I'm finding a good amount of servers, like:
Node.js Rhino SpiderMonkey among others.
Could anyone with experience on server-side javascript, tell me which are the best engines? and why? I like the Node.js because it's based on Google's V8 engine. And seems easy to use. But some feedback on what you would choose would be great.
Edit:
Some benchmarks for Node.
I'm thinking on going with this one but feedback is still welcome.
Thanks
I think each solution has its own advantages/disadvantages
here a list of SSJS solutions:
Aptana Jaxer:
sadly abandoned
Sitepoint Persevere:
based on rhino -
include JSDB, supports JSON Query -
by Kris Zyp, the author of JSON Schema
RingoJS:
based on rhino -
ex Helma NG successor of Helma which existed from long time ago -
multi-thread -
nice community -
great actor on CommonJS
Narwhal:
can work on either spidermonkey, V8, or webkit JavaScriptCore -
another great actor on CommonJS -
defined the JSGI API in the Jack Server
Joyent NodeJS:
based on V8
(fast) -
all is running in a single thread -
all the code must be written using callbacks -
lot of modules available via npm (Node Package Manager)
4D Wakanda:
based on Webkit JavaScriptCore aka SFX or Nitro (which has been faster than V8 and could be faster again) -
include an NoSQL Object oriented JavaScript datastore with a native REST API -
multi-threaded -
provides a studio with a debugger, a Model Designer, and a GUI Designer -
provides a Framework with Widgets directly bindable to the datastore and between each others
APE project: based on spidermonkey - a Push engine to synchronize in live data between many visitor browsers
10gen MongoDB: A NoSQL Document store allowing code in either Erlang & JavaScript (using spidermonkey)
Apache CouchDB: Another NoSQL Document store also allowing code in either Erlang & JavaScript (using spidermonkey)
See a Server-Side JavaScript presentation with some history, benchmarks, & descriptions
The word server is badly used. Those are different JavaScript implementations.
Personally the only thing I'm doubtful about these implementations is about the low amount of system libraries. Most of them come with standard stuff (sockets, filesystem etc..) but lack support for Threads and concurrency. That's why I usually use Rhino, unless I care for speed.
It might help to describe what problem you are trying to solve. There are a lot of "server-side" JS implementations that fill various needs. An there also several "server" platforms built around these implementations. I wrote one implementation on top of Rhino and Java Servlets, called Myna. Myna is for web applications, and I detailed some of its advantages in another question.
Are you trying to deploy web applications? Are you trying to script existing code? Does your code need to start quickly from a commandline, or is it going to be implemented as a daemon?
There are currently no clear winners in this space that do all of these things well, but there are good choices for specific needs.