13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
Week 1 – Mobile Applications and Mobile Application Develop…
Study
Week 1 – Mobile Applications and Mobile Application Development
Terms in this set (41)
SDK = Software Development Kit
A bundle of all the software components necessary to develop and deploy on a given development platform (usually does not include an IDE)
Class Library aka Application Code that we do not write but can call (execute) to Programming Interface (API) perform common but complicated tasks
Integrated Development Environment (IDE)
A software environment that contains and/or orchestrates all the tools developers need to develop e.g. very smart, language sensitive code editors, interface designers, debuggers, device telemetry monitors, device emulators, version control, etc.
Native Applications
App’s compiled code runs directly on a device’s platform – e.g. Android, iOS
Mobile Web Applications
A Web site (built using any Web site development technology) designed for smart device displays and accessed by a devices browser.
An application that is accessed via a web browser over a network such as the Internet
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 1/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
Applications written using a language and Study Week 1 – Mobile Applications and Mobile Application Develop…
Hybrid Applications
development environment other than the
recommended languages for the platform but deployed as a Native App
Up casting
casting a subtype to a supertype, upward to the inheritance tree
Super and Sub Classes (“extends”)
A class that is derived from another class is called a subclass (also a derived class, extended class, or child class).
Abstract classes may not be instantiated, and Abstract classes require subclasses to provide implementations for
the abstract methods.
Abstract method
a method that is declared, but contains no implementation
@Override
The ability of a subclass to override a method allows a class to inherit from a superclass whose behavior is “close enough” and then to modify behavior as needed.
Down Casting
Casting to a sub-type, downward to the inheritance tree
classes that contain one or more abstract methods.
An abstract method is a method that is declared, Abstract Class but contains no implementation. Abstract classes
may not be instantiated, and require subclasses to provide implementations for the abstract methods.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 2/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
a contract or promise (“implements”). A class caSntudy Week 1 – Mobile Applications and Mobile Application Develop…
Interface only have one super class but can implement
multiple interfaces. It is a Type.
refers to a programming language’s ability to Polymorphism process objects differently depending on their data
type or class.
Inheritence
Can be best understood from a parent child scenario It allows you to reuse code from an existing class into another class, you can derive your new class from an existing class.
A machine is going to communicate with a central Thin client processing server, meaning there is little hardware
and software installed on the user’s machine
Thin native client, Instagram, Amazon appstore, Examples of Hybrid Apps Evernote, Twitter, Apple app store, Gmail, Uber,
Khan Academy
Examples of Native Apps
Facebook, Calculator app, Adobe reader, Word processing apps
Examples of Web Apps
Web browser, Google, WordPress, Blogger, Vimeo, Tumblr
What Java syntactic structures End of a statement do the following terminate?
Give as much information as
you can.
– Trailing;
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 3/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
What Java syntactic structures A cast, an expression, end of a method parameSteturdy Week 1 – Mobile Applications and Mobile Application Develop…
do the following terminate? list
Give as much information as you can.
– Trailing)
With respect to providing a A thin native client is to a hybrid app. As a web platform on which to execute a browser is to a mobile web app
mobile app, what does a thin
native client and a mobile Web
browser have in common?
What Java syntactic structures End of block of code, class or interface or do the following terminate? function/method, Anonymous Class Body Give as much information as
you can.
– Trailing}
Give two examples of … resource selection.
What are the implications for each of the 3 types of Mobile apps? Why?
For native apps, different versions of the app can be made to accommodate for different devices. Though this requires creating a lot of code so not a cheap solution. This will apply to Hybrid Apps as well, though the web content cannot be changed unless coded natively.
Web Apps will not be able to run the content on this device, as they do not have the ability to version their content.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 4/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
Hybrid apps are hosted inside a native applicatSiotundy Week 1 – Mobile Applications and Mobile Application Develop…
that utilizes a mobile platform’s WebView. This
Key difference between Hybrid applications and Native app
enables them to access device capabilities such as the accelerometer, camera, contacts, and more. These are capabilities that are often restricted to access from inside mobile browsers. Furthermore, hybrid mobile apps can include native UI elements in situations where necessary,
Describe a native app
○ Compiled code runs directly on the device’s platform.
○ Developed for a particular platform and is not cross-compatible with other platforms. Eg. Android apps do not run on iOS, vice versa.
○ Built using platform specific SDK (Software Development Kit) and platform programming language.
Installed directly onto the device through an app store.
Platform specific – you would need different developer for different platforms(coz different platforms use different SDK, IDE, languages)
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 5/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
○ Due to the platform specific nature of native aStpudpys, Week 1 – Mobile Applications and Mobile Application Develop…
they are able to make use of a device’s OS
Advantages of Native apps
(Operating System) to access device features and hardware. Eg. access to device camera, gps and storage.
○ High speed of operation, due to device tailored nature of development, incorporating native SDK and guidelines.
○ High level of security, enforced through the need to publish app to a strongly regulated app store. (Google/Apple have guidelines that published apps must conform to)
Disadvantages of Native apps
○ Cost:
§ Multi-platform native apps need to be re-written for each platform. Higher cost associated with extended development time.
○ Maintenance:
§ Updates need to be made for each platform, and must be done frequently to adhere to relevant app store’s approval.
§ Cross-device support requires the development of separate versions of the application
○ Approval process
§ In order for an application to be published to an app store, the application must go through an approval process.
• Whilst this provides greater security over content, it also attracts a higher selling price which is shared with the store owner.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 6/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
○ Website with content designed specifically foSrtudy Week 1 – Mobile Applications and Mobile Application Develop…
smart device displays.
Mobile web apps description
○ Content of app is accessed through the device’s browser.
○ The ‘installation’ process of these apps is the creation of a bookmark to the webpage.
They are cross platform
Advantages of mobile web apps
○ Cross-platform compatibility. This is due to the app being designed in HTML5, CSS and JavaScript, as opposed to platform specific languages and SDKs.
○ Cheaper to develop as it can be developed once to cover all platforms.
○ Web developers are cheaper to hire as opposed to hiring higher skilled android/iOS developers.
○ Development in this space is creating nearly a seamless comparison to native apps. More features and advances in JavaScript are making operations faster and appear more like native apps.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 7/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
○ Operate slower than native apps, due to runnSintugdy Week 1 – Mobile Applications and Mobile Application Develop…
off a browser as opposed to device’s OS.
Disadvantages of mobile web apps
○ Many of the device’s features are inaccessible to a web app, for example the camera, push notifications, gestures and local storage. Progress is being made in this field and more features are becoming available quickly.
○ Look and feel of a mobile web app is not the same as a native app, and the differences make the web app less fluid, and graphically inferior.
○ In order to tailor to the needs of multiple devices, a web app must meet the needs of the lowest common denominator, meaning that for a web app to function on lower end devices, the web app must meet the specifications of this device.
Hybrid apps description
○ Hybrid apps are developed in a thin native app ‘shell’, which is platform specific, and then use a native webview within this shell to access web content.
○ The webview is essentially a JavaScript => native API (Application Programming Interface) bridge. Hybrid apps installed on device through an app store.
Types of hybrid apps
A thin native app shell contains a web app
A cross compiler is used to convert code into a Native App executable -e.g. Xamarin, Appcelerator, Embarcadero FireMonkey, or RubyMotion
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 8/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
○ When developed with 3rd party support throSutgudhy Week 1 – Mobile Applications and Mobile Application Develop…
an IDE such as Xamarin, cross platform
Advantages of Hybrid apps
development can be achieved, with one code base functioning for multiple platforms.
○ Unlike a web app, hybrid apps have direct access to device software and hardware, granting them access to OS features such as local storage, camera, accelerometer, gestures etc.
○ Hybrid Apps essentially have all the advantages of native and web apps
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 9/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
○ Operate slower than native apps, due to runnSintugdy Week 1 – Mobile Applications and Mobile Application Develop…
off a browser as opposed to device’s OS.
Disadvantages of Hybrid apps
○ Many of the device’s features are inaccessible to a web app, for example the camera, push notifications, gestures and local storage. Progress is being made in this field and more features are becoming available quickly.
○ Look and feel of a mobile web app is not the same as a native app, and the differences make the web app less fluid, and graphically inferior.
○ In order to tailor to the needs of multiple devices, a web app must meet the needs of the lowest common denominator, meaning that for a web app to function on lower end devices, the web app must meet the specifications of this device.
○ Cost:
§ Multi-platform native apps need to be re-written for each platform. Higher cost associated with extended development time.
○ Maintenance:
§ Updates need to be made for each platform, and must be done frequently to adhere to relevant app store’s approval.
§ Cross-device support requires the development of separate versions of the application
○ Approval process
§ In order for an application to be published to an app store, the application must go through an approval process.
• Whilst this provides greater security over content, it also attracts a higher selling price which is shared with the store owner.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 10/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
– It easily has the highest device count Study Week 1 – Mobile Applications and Mobile Application Develop…
– Java is far and away the most coded language in
Features of Android mobile platform
the world so much so it can be considered an industry standard in many application spaces
– It’s very useful to have on your CV
– Can be developed in Windows, MacOSX, Linux
Features of the iOS platform
– Objective C is quite exotic compared to Java in its terminology and is not widely used outside of the Apple eco system
– The arrival of Swift overcomes the exotic nature of the required development language but not its general applicability
– Can only be developed in MacOSX
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 11/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
Animation Resources Study Week 1 – Mobile Applications and Mobile Application Develop…
Define pre-determined animations.
Examples of Resources types
Tween animations are saved in res/anim/ and accessed from the R.anim class.
Frame animations are saved in res/drawable/ and accessed from the R.drawable class.
Color State List Resource
Define a color resources that changes based on the View state.
Saved in res/color/ and accessed from the R.color class.
Drawable Resources
Define various graphics with bitmaps or XML. Saved in res/drawable/ and accessed from the R.drawable class.
Layout Resource
Define the layout for your application UI.
Saved in res/layout/ and accessed from the R.layout class.
Menu Resource
Define the contents of your application menus. Saved in res/menu/ and accessed from the R.menu class.
String Resources
Define strings, string arrays, and plurals (and include string formatting and styling).
Saved in res/values/ and accessed from the R.string, R.array, and R.plurals classes.
Style Resource
Define the look and format for UI elements.
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 12/13
13/06/2021 Week 1 – Mobile Applications and Mobile Application Development Flashcards | Quizlet
Saved in res/values/ and accessed from the R.style
Week 1 – Mobile Applications and Mobile Application Develop…
Study
For native apps, different versions of the app can be made to accommodate for different devices. Though this requires creating a lot of code so not a cheap solution.
This will apply to Hybrid Apps as well, though the web content cannot be changed unless coded natively.
Web Apps will not be able to run the content on this device, as they do not have the ability to version their content.
class
A phone manufacturer has customised Android to block access to the GPS chips on some models of its product range
– So it can sell them more cheaply without undermining its more upmarket products
– Keeping the same hardware is more economical than manufacturing different hardware
They are all blocked from accessing the GPS chips Since all 3 types rely on the android stack to access hardware, the implications are the same for all 3 types
What are the implications for each of the 3 types of Mobile apps? Why?
https://quizlet.com/za/212385224/week-1-mobile-applications-and-mobile-application-development-flash-cards/ 13/13