marcus green senior developer titus learning · adapt plugins for the app marcus green senior...

23
Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1

Upload: others

Post on 27-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Adapt plugins for the app

Marcus Green

Senior Developer

Titus Learning1

Page 2: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

What I will cover

● Why should you care about mobile?

● What is the Moodle App?

● Basic Tools and techniques

2

Page 3: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

3

Page 4: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Limitations of what I will cover

● My Background is in Quiz Question Type

● No coverage of media

● No coverage of camera/video/gyro

4

Page 5: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

How hard is it?

● I had minimal javascript experience before I started

● Three weeks part time development

● I classify it as medium difficulty

5

Page 6: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

2018 v3.5 - The developers friend

● Improved plugins support

● Develop without Javascript

● Developers do not need a mobile setup

6

Page 7: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

What is the app?

● Cross platform hybrid app

● Web technologies for a native like experience

● Uses the native browser engine

7

Page 8: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

What does it do?

● Separates the interface from the implementation

● Some parts ‘scrape the html’ output

● Makes use of web services

8

Page 9: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Programming technologies

● PHP (of course)

● Javascript (probably)

● IONIC Markup (Like Angular/Vue)

9

Page 10: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

No need to run an emulator

● https://mobileapp.moodledemo.net/

● Your site will need to be publicly visible

● I used it for all my development

10

Page 11: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

My tools

● Microsoft VSEdit

● Chromium Browser

● OSX/Android/iPad Hardware

11

Page 12: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Chromium (is not for chrome)

● Open source basis of Chrome browser

● Run in ‘unsafe’ mode

● Otherwise the CSS won’t render

12

Page 13: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Browser must be unsafe

If you don’t start the browser correctly like this

And it is not in ‘unsafe’ mode you will get this error in the console, the css will not render

13

Page 14: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

You SHOULD see this warning

14

Page 15: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Chrome developer tools

15

Page 16: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

The debugger statement

16

Page 17: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Files to add

● db/mobile.php

● class/output/mobile.php

● javascript/mobile.js

● mobile/YOURPLUGINNAME.html

● styles_app.css

17

Page 18: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Ionic Markup

Like extended HTML

<p *ngIf="!question.readOnly" class="core-info-card" icon-start> <ion-icon name="information-circle"></ion-icon> {{ 'plugin.qtype_wordselect.taptoselect' | translate }}</p>

18

Page 19: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

db/mobile.php

19

Page 20: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Where to show the output

● 'delegate' => 'CoreCourseModuleDelegate'

● 'delegate' => 'CoreQuestionDelegate'

● 'delegate' => 'CoreMainMenuDelegate'

20

Page 21: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Use the source

● See how the core plugins are written

● They use ES6/Typescript

● Not quite the same as plugins

21

Page 22: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Testing on IOS and Android

● Mostly compatible

● IOS seemed to have more quirks

● Test on the real thing

22

Page 23: Marcus Green Senior Developer Titus Learning · Adapt plugins for the app Marcus Green Senior Developer Titus Learning 1. What I will cover ... Three weeks part time development I

Fin

[email protected]

https://twitter.com/marcusavgreen

https://twitter.com/TitusLearning

Any Questions?

23