What's new in jQuery Mobile 1.4?

jQuery Mobile: En Rejse i Mobiludvikling

30/11/2021

Rating: 4.95 (4377 votes)

I en æra, hvor mobiltelefoner gik fra at være simple kommunikationsværktøjer til avancerede computere i lommen, opstod et presserende behov for webudviklere: Hvordan skaber man en ensartet og brugervenlig oplevelse på tværs af et væld af mobile enheder med forskellige skærmstørrelser, operativsystemer og browserkapaciteter? Svaret kom delvist i form af jQuery Mobile, et ambitiøst projekt der lovede at revolutionere mobil webudvikling ved at tilbyde et samlet, HTML5-baseret brugerfladesystem. Det var bygget på den robuste og velkendte jQuery- og jQuery UI-fundament og sigtede mod at gøre det nemt at skabe mobilvenlige websteder og apps med en enkelt kodebase. Men som med mange teknologier, har jQuery Mobiles rejse haft sine op- og nedture, og det er vigtigt at forstå dens historie og nuværende status.

Does jQuery Mobile have a commit?
Cannot retrieve latest commit at this time. Note: jQuery Mobile is not maintained anymore. Please read the project status blog post for more information. jQuery Mobile is a unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation.
Indholdsfortegnelse

Hvad var jQuery Mobile, og hvorfor var det vigtigt?

jQuery Mobile blev lanceret som et forenet brugerfladesystem, designet til at fungere problemfrit på alle populære mobile enhedsplatforme. Dens kernefilosofi var baseret på HTML5, hvilket gjorde det muligt for udviklere at udnytte moderne webstandarder til at skabe rige og interaktive mobiloplevelser. Systemet var bygget med progressiv forbedring i tankerne, hvilket betød, at grundlæggende funktionalitet ville være tilgængelig for alle brugere, mens avancerede funktioner og visuelle forbedringer ville blive tilføjet for dem med mere kapable browsere. Dette sikrede en bred kompatibilitet og en god brugeroplevelse uanset enhedens specifikationer.

En af de mest tiltalende aspekter ved jQuery Mobile var dets letvægtskode og fleksible, let tema-baserede design. Udviklere kunne hurtigt implementere standard UI-komponenter som knapper, lister, formularer og navigeringsstrukturer, der automatisk tilpassede sig mobilmiljøet. Projektet byggede videre på succesen med jQuery, en af de mest udbredte JavaScript-biblioteker, og integrerede også elementer fra jQuery UI, hvilket gav en velkendt og kraftfuld værktøjskasse til UI-udvikling.

Selvom jQuery Mobile leverede en robust løsning til mobil webudvikling i sin storhedstid, er det afgørende at bemærke, at projektet i dag ikke længere vedligeholdes. Denne statusændring betyder, at der ikke længere udgives nye funktioner, fejlrettelser eller sikkerhedsopdateringer. For eksisterende projekter kan dette medføre udfordringer, og for nye projekter anbefales det at overveje mere moderne og aktivt vedligeholdte teknologier.

jQuery Mobile 1.4.x: En Dybdegående Gennemgang

Version 1.4.x af jQuery Mobile repræsenterede en vigtig milepæl i projektets udvikling. Denne specifikke serie var designet til at fungere harmonisk med forskellige versioner af jQuery Core, herunder jQuery Core 1.8.3 til 1.11.1 og 2.1.1. Denne brede kompatibilitet gjorde det muligt for udviklere at opgradere til de nyeste jQuery Mobile-funktioner uden nødvendigvis at skulle opdatere deres jQuery Core-afhængigheder, hvilket var en stor fordel i komplekse projekter.

Denne version fokuserede på at forbedre ydeevnen, stabiliteten og tilpasningsmulighederne. Den leverede en omfattende samling af UI-widgets, der var klar til brug, herunder:

  • Forbedrede formular-elementer som afkrydsningsfelter, radio-knapper, skydere, tekstfelter og dropdown-menuer.
  • Avancerede listevisninger med filtrerings- og auto-divider-funktioner.
  • Styring af knapper og knapgrupper for nem navigation.
  • Fleksible layoutmuligheder og responsivt design, der tilpassede sig forskellige skærmstørrelser.

Dokumentationen og demoerne for 1.4.x-serien var omfattende og gav udviklere detaljeret information om, hvordan biblioteket fungerede, og hvilke muligheder det bød på. Dette gjorde det nemt at komme i gang og udnytte bibliotekets fulde potentiale.

Tilpasning og Den Fleksible Byggeproces

En af de stærkeste sider ved jQuery Mobile var dens fleksibilitet i tilpasning. Udviklere havde flere muligheder for at skræddersy biblioteket til deres specifikke behov, hvilket var afgørende for at optimere ydeevnen og reducere filstørrelsen. Dette var især vigtigt i en mobil kontekst, hvor båndbredde og indlæsningstid var (og stadig er) kritiske faktorer.

Download Builder: Skræddersyede Bygninger

Den nemmeste metode til at opnå en tilpasset bygning var gennem Download Builder. Dette webbaserede værktøj tillod udviklere at vælge præcis de dele af biblioteket, de havde brug for. Automatisk ville de nødvendige CSS- og JavaScript-afhængigheder blive løst og pakket som en enkelt, minificeret fil. Dette eliminerede unødvendig kode og ressourcer, hvilket resulterede i hurtigere indlæsningstider og en mere strømlinet applikation.

Manuel Tilpasning via JavaScript Moduler

For mere avancerede brugere tilbød jQuery Mobile muligheden for manuelt at tilpasse JavaScript-bygningen. Fra version 1.1 brugte biblioteket afhængighedsstyring ved at levere AMD-moduler (Asynchronous Module Definition). Dette betød, at individuelle komponenter, såsom formular-widgets, kunne tilføjes eller fjernes fra js/jquery.mobile.js meta-modulet. For eksempel, hvis en udvikler ønskede at reducere "wire weight" (den mængde data, der overføres over netværket) og ikke havde brug for formular-widgets, kunne de simpelthen fjerne dem fra meta-modulet og derefter køre byggeprocessen med kommandoen grunt build:js. Denne granulære kontrol var uvurderlig for at opnå den absolutte minimale filstørrelse.

What's new in jQuery Mobile 1.4?

Oprettelse af Brugerdefinerede Temaer (CSS)

Udover JavaScript kunne jQuery Mobile også tilpasses visuelt med brugerdefinerede temaer. Biblioteket kom med et standardtema, men udviklere kunne nemt oprette deres egne unikke designs. Processen var ligetil:

  1. Kopiér standardmappen fra CSS/Themes til en ny mappe med navnet på det nye tema (f.eks. my-theme).
  2. Tilpas jquery.mobile.theme.css-filen i den nye temamappe med ønskede ændringer til farver, skrifttyper, afstande osv.
  3. Fra projektets rodmappe kør Grunt-kommandoen: THEME=my-theme grunt build:css.

Outputtet ville derefter være tilgængeligt i $PROJECT_ROOT/dist-mappen, klar til at blive implementeret. Denne funktionalitet gjorde det muligt for udviklere at sikre, at deres mobilapplikationer ikke kun fungerede godt, men også passede perfekt ind i deres brandings visuelle identitet.

Udviklingsmiljø og Test

For dem, der ønskede at bidrage til jQuery Mobile-projektet eller blot udføre omfattende test af deres egne implementeringer, var det nødvendigt at sætte et specifikt udviklingsmiljø op. Projektets rodmappe fungerede også som roden for dokumentationen og testsuiten, hvilket gjorde det til et ideelt testbed for fejlrettelser og nye funktioner.

Serverkrav

De fleste dokumentations- og testsider var afhængige af PHP 5+, hvilket betød, at Apache og PHP var nødvendige for udvikling. Der var flere metoder til at installere disse:

  • One-click løsninger: MAMP til macOS eller XAMPP til macOS/Windows, som hurtigt satte et komplet servermiljø op.
  • Eksisterende webserver: Brug af en allerede opsat server, f.eks. en ~/Sites-mappe på macOS.
  • Virtuel maskine: Brug af Vagrant til at oprette et isoleret udviklingsmiljø.

Ud over standard Apache krævedes også specifikke moduler for at sikre fuld funktionalitet: Rewrite (mod_rewrite.so), Expire (mod_expires.so) og Header (mod_headers.so). Når webserveren var konfigureret, kunne den pege på projektmappen.

Automatiserede Tests

Automatiserede tests var rygraden i jQuery Mobile-projektets QA-aktiviteter. Som bidragyder forventedes det at køre testsuiten for den kode, der blev påvirket af ens ændringer. Den kontinuerlige integrationsserver tog sig af resten af testsuiten. Testene kunne køres med Grunt-kommandoen grunt test.

For at optimere testprocessen kunne udviklere vælge at køre kun et underudvalg af testene ved at bruge --suites-indstillingen, f.eks. grunt test --suites=table,slider, som kun ville køre tests under tests/unit/table/ og tests/unit/slider/. Man kunne også udelukke specifikke tests med et udråbstegn, f.eks. grunt test --type=integration --suites=\!navigation, for at køre alle integrationstests undtagen navigationssuiten.

Desuden var jQuery Mobiles testsuite opdelt i integrationstests og enhedstests. Enhedstests fokuserede på en enkelt del af biblioteket (f.eks. en widget), mens integrationstests krævede, at flere dele af biblioteket fungerede sammen. Man kunne målrette enten type ved at inkludere --types-indstillingen under testning. Det var også muligt at specificere, hvilke versioner af jQuery der skulle testes med ved hjælp af --jqueries-indstillingen, f.eks. grunt test --jqueries=1.11.1,git.

Oversigt over jQuery Mobile Bygge Mål

For at give et hurtigt overblik over de forskellige bygge mål, der var tilgængelige for jQuery Mobile, er her en tabel:

MålBeskrivelse
jsLøser afhængigheder, bygger, samler og minimerer JavaScript-filerne, der bruges til jQuery Mobile.
cssLøser afhængigheder, bygger, samler og minimerer alle CSS-filerne (både struktur og tema).
demosBygger JavaScript og CSS og gør dokumentationen klar til statisk forbrug.
lintValiderer JavaScript-filer ved hjælp af JSHint for at sikre kodekvalitet.

Ofte Stillede Spørgsmål om jQuery Mobile

Vedligeholdes jQuery Mobile stadig?
Nej, jQuery Mobile vedligeholdes ikke længere. Projektstatusblogindlægget indeholder mere information om dette. Det betyder, at der ikke længere udgives nye funktioner, fejlrettelser eller sikkerhedsopdateringer.
Hvilke jQuery-versioner understøtter jQuery Mobile 1.4.x?
jQuery Mobile 1.4.x fungerer med versioner af jQuery Core fra 1.8.3 til 1.11.1 samt 2.1.1.
Hvordan kunne man tilpasse en jQuery Mobile-udgave for at reducere filstørrelsen?
Den nemmeste måde var at bruge Download Builder, som tillod valg af specifikke komponenter. Alternativt kunne man manuelt redigere js/jquery.mobile.js for at udelukke uønskede AMD-moduler, f.eks. formular-widgets, og derefter køre en Grunt-byggeproces.
Hvad er de grundlæggende krav for at sætte et udviklingsmiljø op med jQuery Mobile?
For et lokalt udviklingsmiljø var PHP 5+ samt Apache med modulerne Rewrite, Expire og Header typisk påkrævet. Derudover skulle Node.js og Grunt være installeret for at køre bygge- og testkommandoer.

Konklusion: En Historisk Fodnote i Mobil Webudvikling

jQuery Mobile spillede en afgørende rolle i mobil webudvikling i sin tid ved at tilbyde en robust og tilpaselig løsning til at bygge mobilvenlige brugerflader. Dens integration med jQuery og fokus på progressive forbedringer gjorde den til et populært valg for mange udviklere. Selvom projektet nu er historie og ikke længere aktivt vedligeholdes, vidner dets arkitektur og de værktøjer, det leverede, om en tid, hvor mobil webudvikling søgte standardisering og effektivitet. At forstå jQuery Mobiles funktioner og dens endelige status giver værdifuld indsigt i den fortsatte evolution af webteknologier og vigtigheden af at vælge vedligeholdte løsninger til moderne projekter.

Hvis du vil læse andre artikler, der ligner jQuery Mobile: En Rejse i Mobiludvikling, kan du besøge kategorien Teknologi.

Go up