HTML and CSS Reference
There's no real reason for this to be the case, and the same goes with web applications. HTML5 has well-defined
offline support, 16 including application file caching and local storage, so with developer care, it is possible to have a
working offline web app in much the same way as a native application should function offline.
Choosing Based on Requirements
Given that both native apps and web apps have pros and cons, it's fairly evident that there's no clear right answer
when it comes to choosing a platform for your app. Too many factors play into the decision for one or the other to
simply be “better.”
Instead, app developers should spend a reasonable amount of time considering their app, how it will be used,
what it will do, and how they intend to monetize it. After they have the requirements figured out, they can run their
app through the pros and cons listed previously, along with any additional considerations specific to their situation,
and choose the approach that best benefits their application.
Choosing Web Apps Over Native Apps
For your app project, let's weigh the proposed features of the app against the previous pros and cons to make the best
decision for this situation.
What Does this App Do?
Though we'll get significantly deeper into detail about this in the next chapter, at a glance this app provides a simple
interface for an audience to ask questions of a presenter and for the presenter to receive those questions in realtime.
How Does this App Make Money?
For the purposes of this topic, the app doesn't make money, but if it were going to be monetized, it's unlikely that
someone would be willing to pay $0.99 to ask a question when they could simply raise their hand.
It would likely make more sense to charge presenters to create a room because the app serves to help them
control the room and make sure that all questions are answered. Presenters would likely purchase the room just
before setting it up, which is easiest to do on a desktop browser, so payment through a web interface might not
be a deterrent.
How Will People Use this App?
Presumably, users will be in the physical space where the presenter is holding the event. This could be a classroom
at a university, a meeting room at a convention, or the conference room at a large company's keynote.
Because it's likely that an attendee will not be at a desk, it's a safe assumption that she could be using a laptop,
a tablet, or her phone to interact with the speaker, so the app should support as many devices as possible.
Does this App Need Access to Any Device Hardware?
The app doesn't need to access any of the user's phone hardware, such as the camera, so that's not something that you
need to worry about for this project.