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 planing to write an social network application and thinking about to use dart on backend. But I am asking me, if dart would be the right choice for backend application. I was searching in internet about this topic, but could not find something useful, that convince me to use dart for backend.
I am thinking to use golang, but I have to learn this language from zero. In dart I have some experience and really like dart language.
You know, I try make the right choice to use right tools, so I need some suggestions? Dart or golang?
I know, that java provide me hug ecosystem, but i don't like to learn java at all, just don't like java.
I would choose neo4j database, i am pretty sure, this suits for social network.
I don't like Java very much and developed a server in Go. I enjoyed working with Go a lot. Then I started with the client and because I also don't like JavaScript (in fact I hate it) I went with Dart which I like a lot. I already did a lot of server side work in Dart. A big advantage is that I can share code between client and sever, which is actually a lot in my current project.
I like Go better for server side development but I will stick with Dart for projects where I already use Dart for the client. It's just too difficult and time-consuming to stay up-to-date on two different languages (and ecosystem and libraries) for such new and fast evolving languages.
I think each language is a very good fit for this Job. Java has an awful lot of existing libs, tutorials, ... but most of the important things are covered in Go and Dart as well.
Basically I would say, stick with the language you know best. Learning a new language will impede your productivity for several months at least.
If you design your application in terms of loosely coupled modules then you can write(prototype) modules in Dart and if one day you will need to re-implement some of them in GO (for example you need better performance) it will be doable. Look at REST
Also it will make your application scalable and you will be able to expose API for separate modules (for example, if you need some of them as a phone app back-end or for the 3-d party developers)
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 2 years ago.
Improve this question
I would like to build a simple cross-browser multiplayer game (like chess or a card game) which will communicate to a server using sockets.
I have some intermediate knowledge of Ruby language, but I'm not so convinced that it is a good solution for a multi-client server, so a thought that Node.js or Socket.io might be a better one. I know that Java or C++ could be great for the job, but I am not too comfortable with none of them, so that is the reason that I'm levitating towards Server-side JavaScript.
My question is, what do you think is the best solution for a project like this one? What might be the best server-side technology on which I will build an entire game and communication logic? Maybe some combination of them? Any comment regarding speed, server load, hosting solutions and development speed for each of the technologies will be greatly appreciated.
If you're comfy with JavaScript, you've got nothing to lose by giving node.js a go: the learning curve will be gentle. It's a pretty cool server tech.
Only disadvantage with node js is of course it won't scale like java. At all. This is often fine for web apps because you can throw a caching layer in front (reverse proxy), which greatly mitigates this. I imagine this won't be reasonable for your application, since the game state will change too frequently.
Node js can "scale" though, by spinning up more instances. If one server can easily accomodate more than one "game world", then this is straightforward. If you need to split a gameworld across multiple servers, then servers must cooperate. Beware this scenario though, it's not as simple as it first may seem: it's called the "multi master" problem and is one of the hungry internet monsters.
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 8 years ago.
Improve this question
I have a specific goal in mind: I want to make a to-do-list-type app for my group at work to use. My key requirements are to have very easy entry and removal of items, as well as work in an OS X environment. The first requirement is because anything that is easy to use is more likely to be used, and the second is because that's what we're on. The application will need to be live-updating among multiple users, but authentication is not a requirement. Distribution of the same app to other remote teams is a plus, but not required. Just a shared to-do list, with task-specific things to be added. It doesn't have to be a web app; native is great but the world at large seems to be more and more web-related these days.
I've been looking at a number of technologies such as Ruby (and Rails), PHP, MAMP, Cappuccino, FileMaker, Trac, and a few other options - but the paradox of choice means that I don't really know what is "best" to use. Looking at that list it is obvious that I don't really know what I should be looking at, let alone how to decide on things. I'm drowning in a sea of opportunities and a surplus if "good enough."
I am a somewhat-experienced with Objective-C and Cocoa, but excluding Cappuccino, those skills don't directly relate. I'm rather excited to learn new things, so my existing skill set is not especially important.
What sounds natural for this? I'm fully prepared for the fact there is no "right" option. Who here has a favorite methodology? What's a good application stack that has proven itself in rapid development time and future flexibility?
TL;DR: I want to make a concurrently-updated todo app for a small work team. It specifically does not need to be feature-filled, but should be "simple" to build and maintain. What is the right tool for the job?
EDIT: My team does nothing related to software dev, but my own personal mindset is that of a software dev. Part of the reason I am not afraid to roll up my sleeves and learn something new is a matter of personal development.
I would highly recommend that you use an existing solution rather than build your own. Teams building their own management software has a long history of sucking up lots of time, energy and talent for little benefit.
As for which solution you should use, it depends on the kind of work your team does. If they do software development, as I suspect they might based on your question, Trac is an excellent option.
Based on your requirements, IMHO, the GoogleTask is the best one for you. If want desktop (not web) app, check Things (commercial).
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
Are there reports or thesis about the performance of Google App Engine or other cloud platforms?
I'am writing an article about how to choose an appropriate cloud platform, and want to reference some test data.
A little work with Google may bring up some material that others have found. For instance the canonical resource for Azure benchmarking is here: http://azurescope.cloudapp.net/. However, there's not much comparative material as it really doesn't make sense.
Comparing cloud platforms solely on performance is like comparing apples with bananas with oranges. Each have their own qualities that make them appropriate for a particular kind of application.
For example, in broad terms, for multi-platform use where you have control of the underlying OS, go EC2; for a managed Windows application platform go Azure; or for a managed Java/Python platform choose App Engine. Once you've chosen the platform you can pretty much then pay for the performance you need.
Bear in mind too that "performance" means different things for different applications. The application I'm working on, for instance, relies heavily on SQL database performance. That will have a very different performance profile from (say) an application that uses a key-value pair storage system, or an application that's mostly static HTML.
So, in practice, there aren't much in the way of performance benchmarks out there because every application is different.
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 4 years ago.
Improve this question
I'm primarily a server-side developer - not even web server stuff. But I'm finding more and more that I need to mockup user interfaces. This is in part to more senior roles doing overall product design, but there is some personal interest as well.
I'm wondering what would be a good UI toolkit to learn. I won't be making production user interfaces, and doing them as web apps would just be fine. I've been leaning towards learning jQuery as it has a graphing library I like to use (flot). Someone else at work is suggesting EXT-GWT.
Is there anything else out there? For straight up mockups I use Balsamiq, but sometimes I want to go a little past plain mockups and add some functionality.
Thanks.
If you're just after GUI libraries/frameworks, have a look at GWT and Vaadin.
You might want to also look at something like WaveMaker, which is a rapid application development platform. As well as allowing you to mock up simple GUI's it should make it easy to add in functionality as well.
I haven't used anything a lot except jQuery.
It has been great especially when you start using the UI and theming which makes quick work of standard things. It'd be a problem if you wanted anything outside the box because then you'd have to find a plugin or write your own. (both of which are fairly easy IMHO.)
If you use ExtJS, they also have a designer: http://www.sencha.com/products/designer
Even if you just go with ExtJS, Senchas has a lot of widgets that make prototyping much easier. ExtJS 4 will be shipping in a month or so. I'd start with it.
http://dev.sencha.com/deploy/ext-4.0-beta3/examples/
You can check out ForeUI. It makes working prototype and run as DHTML in browser. It's quite easy to learn and use.
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
To make my question clear:
I'm experimenting with XMPP, lately - I have set up my own XMPP server and trying to figure out what uses could it have in our development process. Except the obvious things (we use it for IM-ing and have set up a group chat room for our team), we employ it as a notification platform for our issue tracking system and our continuous integration system.
I have already thought about some other possible uses such as monitoring the state of our servers (via the presence layer), application exception notification (via PubSub), etc.
My general idea is to build some kind of unified support system for our development process that will communicate through a regular IM client (PubSub support would be great, though) and will make our processes much more transparent and more responsive.
Have you ever thought about something like this? Or do you use something completely different for this purpose? Am I just reinventing the wheel?
Web site notifications (most likely through changes published to Atom feeds) that get pushed out to subscribing IM clients via pure PubSub or PEP (PubSub subset) are going to be a big application, outside of vanilla enterprise instant messaging.
I wrote a bot that knows how to talk to our ticketing system (our Trac site). Users can ask to see the tickets for the current sprint, tickets assigned to them, they can "grep" through tickets, get the current Milestone information and update ticket fields (workleft, status, owner or attach comments). That's been pretty popular with several developers -- and getting people to keep their tickets updated is a Good Thing.
IMified (imified.com) is a pretty nice way to build out the kind of applications you are talking about.