As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am building an application for a friend's event company. The software will only be used by a handful of people who run the events.
These are the essential requirements:
The software will capture basic data input regarding the event and
competitors.
The software will need to work offline - an Internet connection
cannot be guaranteed in venues.
The software will locally store data which is to be synced to a
remote database when an Internet connection is available.
The software will display a second window sent to a projector screen and displaying updates
to the audience.
The software will need to record data via a serial port for each event.
Though this might traditionally be a desktop application, I think there are good reasons for trying to build something like as a web app namely:
Easier for me to build / maintain / test.
Cheaper (.NET would be my first port of call for desktop but I heard Microsoft are
abandoning VS Express for Windows 8).
Platform independent - if an onsite laptop failure occurs, the ability to use another
machine without installing and configuring the software is available, as is the possibility
of future hardware upgrades.
As I have not yet used the offline capabilities of HTML5. I'm wondering are there any caveats before going down this route - is a desktop app better, or another solution?
(I know I'd have to create a Java Applet for the serial port communication as demonstrated here.)
Since you need to communicate with hardware I wouldn't bother with HTML5 and possibly Java applets. Just go with a desktop application.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm coding an app in XCode4, and am approaching a part of the development in which I use web services to connect to a MySQL database to both pull current and write new user account information.
Just wondering if this will work in the iOS Simulator that comes with the XCode bundle?
You don't need an answer for this question, as you have it right there in the same question.
I really think you should take home the following:
A web-service is an interface to a (possibly) remote entity that will answer to you with data/calculations etc.
There are two sides to a web-service: (1) the server side which is the real web-service, and (2) the client side which are the web-service libraries that you use to connect and use/get data from
A web-service to a MySQL database will encapsulate/hide the database from you. This is usually so that you don't need to deal with the query language/data conversion/relationships/etc. Keep in mind that there's no MySQL over web-services (out-of-the-box), so someone has to connect those two for you.
A MySQL server can run on your computer, on a virtual machine on your computer or on a remote computer.
The web service can run on the same places, but not necessarily on the same place
That said the iOS Simulator doesn't need to run the web-service or the MySQL server, It only needs to connect to them. As such they may be wherever, you just need to be able to connect to them.
The simulator is able to make HTTP(S) requests, so of course web services would work.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I know the basic concept of a WebSocket . I know that it allows simultaneous bidirectional(Full duplex), persistent communication support built into it . So it is very useful for a server push kind of scenarios . What other scenarios are WebSockets best suited for ? What are some of the common situation where we as programmers should actively look at WebSockets as the solution instead of reinventing the wheel ?
Well, server push is the main component of the bidirectional support that the single direction of HTTP is lacking. It also supports cross-domain requests. Because the server can now contact the client asynchronously, it enables a whole bunch of techniques and applications:
Built-in heartbeats. I use this in one of my apps, and I no longer have to check myself if someone disconnects.
Have a client app that is served in real-time by different backend applications
Real-time updates of streaming data, news feeds, etc
Multi-user games that run in the browser
All of these you could somewhat-do before with long-polling, but it was inefficient (tons of overhead), complex (hard to implement) and ugly (not natural to use at all). WebSocket simpilfies much of that. According to this article, WebSocket can typically reduce overhead by 500 times and latency by 3 times. http://www.websocket.org/quantum.html
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Someone recently directed me to the W3C spec on widgets:
http://www.w3.org/TR/widgets/
Developers can make web apps work offline via a browser's application cache. I had asked how users were supposed to know they could use certain websites offline, which is when the the person brought up the widget spec. It makes sense to split the packaging of an app apart from its offline storage ability. However, after googling around and reading up on widgets, I couldn't find any recent articles on the subject (most articles seemed to be from around 2010). Eventually I found Opera's SDK, but there was a message at the beginning indicating that they were removing the functionality:
Starting with Opera 12, Opera Widgets will be turned off for new users
and completely removed in a later release.
source: http://dev.opera.com/articles/view/creating-your-first-opera-widget/
Are W3C widgets a dead technology? And if so, is there any cross-browser technology being developed for the packaging of web apps? I'm curious because I think offline storage is interesting, but don't see how users would know that even when they don't have an internet connection, they could browse to a particular URL and have it work, unless the browser told them which apps they had installed (or unless every site that supported offline storage explained it to them).
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am new to Native Client; and new to plugins/extensions too. It strikes me that plugins/extensions are "better" than NaCl in some respects:
Can compile plugin/extension anywhere/anyhow to produce a plain old DLL or a .so; NaCL needs binary produced only by the NaCl toolchain.
Plugin/extension is portable across browsers (e.g., it is supposed to run in FIrefox and more, as well as in Chrome). This because plugins/extensions adhere to a de facto standard introduced in Netscape 3.
If that's all true, then what are the advantages of NaCl over plugins/extensions?
In a word: security. NPAPI plugins are unsandboxable. They're native code, running out-of-process and outside of the browser's sandbox, meaning that they can do anything at all on your machine.
NaCl, on the other hand, runs inside Chrome's sandbox, and provides access only to a well-defined set of APIs. Clever compilation tricks ensure that code can't break out and start (intentionally or accidentally) maliciously executing untrusted methods.
http://www.chromium.org/nativeclient/getting-started/getting-started-background-and-basics is a good resource for an overview of the differences. I'd recommend at least skimming it to get an idea of what NaCl is trying to achieve.
First, you keep saying "plugins/extensions", but extensions and NPAPI plugins are completely different. NPAPI plugins are binary, and (as you said) cross-browser. Extensions are per-browser; each browser has their own set of extension APIs and capabilities, but they are generally written in HTML/CSS/JS.
As for your question: in addition to the very important security aspect mentioned in another answer: platform portability. If you want to do drawing, event handling, play sounds, etc. in NPAPI you need to write three completely different implementations--Windows, Mac, and Linux--and you need to ship three separate copies of your plugin. NaCl/Pepper has platform-neutral abstractions for everything.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As an amateur mobile developer, I feel dismay every time I have to fix, update or add new features to an application of mine.
I'm eagerly awaiting the moment you can just develop a web application for any kind of device.
HTML5 and new APIs like Geolocation API or Contacts API are a step forward, but what other APIs could be useful to move current mobile developers to the web? For example, some kind of Sensor API to access mobile accelerometers or magnetometers.
I am aware that future Flash and AIR mobile releases are coming, but I'd rather prefer web standards.
There’s an idea to add a general devices API to HTML5.
http://www.w3.org/TR/dap-api-reqs/
To be honest, I don’t think you can do this sort of thing generically (or at least it’s an impractical challenge). I think it’s down to the folks who make mobile operating systems — i.e. Apple, Google, and the rest — decide whether and how to provide JavaScript access to hardware.
It’s potentially a massive security risk. Go to a hijacked website, and suddenly Russian criminals are copying every photo you take? There’s a “powerful mobile web application” for you.