Web, Web

L’uso di PHP nelle applicazioni mobili: un approccio pratico

L’uso di PHP nelle applicazioni mobili: un approccio pratico

Titolo: L’uso di PHP nelle applicazioni mobili: un approccio pratico

Introduzione

La creazione di applicazioni mobili ha registrato un extenso successo e attrazione negli ultimi anni, offrendo servizi e funzionalità impressionanti alle aziende e agli utenti. Tuttavia, la naturalezza della programmazione mobile implica sfide che sono sconosciute a molti sviluppatori di applicazioni web. Un linguaggio di programmazione ben stabile e ampiamente utilizzato per le applicazioni web è PHP, e mentre lo usi nelle applicazioni mobili non è così comune, continua a scegliere un’opzione da considerare. In questo articolo, trovi un esempio pratico su come utilizzarla per creare applicazioni mobili con un esempio semplice, in concreto, un’applicazione mobile basata sull’API di GitHub.

Utilizzare PHP per creare applicazioni mobili

Tradizionalmente, se si utilizza Java per Android o Objective-C per iOS nello sviluppo di applicazioni mobili native, tuttavia, con il progresso delle tecnologie di codice aperto e JavaScript, ci sono alternative a queste lingue. Tra le possibilità, ci sono Ionic, un frame di sviluppo di applicazioni ibride che utilizzano HTML, CSS e JavaScript con capacità di accesso nativo, e Cordova (antiguo PhoneGap), che consente di distribuire le applicazioni ibride su Android, iOS e Windows. Questi strumenti sono progettati per l’utilizzo con JavaScript e/o TypeScript. Ma nel tuo posto puoi considerare di utilizzare la tua esperienza in PHP per i tuoi progetti di applicazioni mobili.

Questo focus ci concentrerà sulle librerie di JavaScript native che hanno proliferato negli ultimi anni. Queste librerie sono progettate per affrontare il problema di avere una lingua principale, come PHP, lavorando insieme a JavaScript. Tuttavia, è importante chiarire quale sia la denominazione "ibrido" solo per le interazioni native con il dispositivo mobile (API Android e iOS), ed es "nativo" per l’interazione dell’utente. Inoltre, le applicazioni basate su questi strumenti possono essere sviluppate per Android, iOS e Web, offrendo un modo comodo per mantenere i contenuti sincronizzati su tutte le piattaforme.

Librerie native JavaScript

Reagire nativo

React Native è una libreria che utilizza JavaScript per il codice dell’applicazione mobile e il rendering nativo, ciò significa che possiamo scrivere le funzioni dell’app utilizzando JS e quindi Render sulla piattaforma adatta. Il team dietro React Native appartiene a Facebook. Un extenso punto a favore è l’enorme comunità dietro React Native. Molte aziende attualmente stanno cercando persone con esperienza in questo marchio, dando la garanzia che la tecnologia continuerà se è rilevante. Offre anche un tempo di esecuzione molto ridotto.

Svolazzare

Flutter è un framework open source per la creazione di interfacce utente, lanciato da Google nel 2018. Con Flutter è possibile costruire applicazioni native e piattaforme web senza JavaScript, utilizzando il linguaggio di programmazione di Dart. La ragione per cui papagayo consigliano Flutter, insieme a React Native, è perché le due strutture hanno un numero di biblioteche e strumenti simili. In questo modo potremo cambiare facilmente se l’applicazione che stiamo costruendo con Flutter, funzionerà meglio in un’altra lingua o marca, se così lo decideremo.

Ionico/Cordova

Ionic Framework è una piattaforma ibrida e multipiattaforma per creare applicazioni mobili per dispositivi Android, iOS e piattaforme web. Lo faccio con HTML, CSS, JavaScript e Angular per realizzare la maggior parte del progetto. Cordova offre il collegamento nativo e aggiunge Android, iOS e Windows come un eccellente set di interfacce. Ionic consente l’uso di PHP senza grandi complicazioni. Oltre a essere un entorno per costruire applicazioni native, Ionic può essere considerato come una guida per creare le migliori applicazioni web che vengono visualizzate sulle piattaforme mobili. È perfetto per coloro che cercano applicazioni per i clienti delle papagayo piccole e medie imprese o imprese con proposte speciali.

Pratica con un’applicazione

Per iniziare a lavorare nel design di un’applicazione, dobbiamo cercare un progetto pratico che dobbiamo passare per tutte le caratteristiche e funzionalità fondamentali che un’applicazione tipica dovrebbe presentare. Un esempio ideale potrebbe essere un’applicazione per lavorare con GitHub e presentare le informazioni di diversi repository alla volta.

Primo, installiamo un compatibile IDE. Puoi utilizzare qualsiasi cosa sia compatibile con HTML5, CSS3, JS e, opzionalmente, Ionic e Angular: WebStorm, Visual Studio Code o PhpStorm. Se puoi farlo utilizzando PHP, devi anche contattare un editor di codice condiviso tra HTML, CSS e JS (Sublime Text o Visual Studio Code).

Successivamente, installa Node.js e npm:

# Si no tienes npm instalado primero, puedes instalar Node.js para ello con las siguientes instrucciones.
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt-get install -y nodejs

# O incluso, si tienes node.js instalado simplemente:
$ sudo apt-get install -y npm

Segundamente, debemos instalar ionic y cordova con le seguenti istruzioni:

$ sudo npm install -g ionic
$ sudo npm install -g cordova

Con l’aiuto di Ionic, dobbiamo creare un nuovo progetto:

$ ionic start MyAppSkeleton
$ cd MyAppSkeleton
$ ionic platform add ios
$ ionic platform add android

E, finalmente, costruiremo il progetto, una volta che abbiamo completato tutto:

# En iOS
$ ionic cordova build ios

# En Android
$ ionic cordova build android

Utilizzando PHP nel back-end

Ora dobbiamo creare il progetto in PHP. In principio, l’applicazione ibrida comunica con PHP sul server utilizzando AJAX sul ancho client (iOS e Android). Ma la prima cosa che dobbiamo avere è un server Web in cui è possibile utilizzare gli script PHP.

In questo caso, dobbiamo avere al meno un server LAMPP (Linux Apache Mysql PHP e Perl).

  • PHP deve essere installato e abilitato correttamente.
  • Apache: è un server HTTP con il suo controllo di accesso per file web statici e dinamici, è detto, pagine web statistiche come HTML, CSS e immagini, e crittografate come PHP. Apache utilizza un file principale nelle directory per inviare un indice di file ed eseguire l’impostazione corretta del motore della pianta predeterminato.

Se quale è l’IDE utilizzato per programmare in PHP, la cosa importante è che si cantar nella directory /public/ (o in altre che hai configurato) nel server dove abbiamo installato la struttura di Apache:

  • index.php o il file principale da quale Apache riconoscerà l’accesso.
  • login.phpe dove potrai maneggiare le credenziali.
  • config.php: qui possiamo impostare variabili importanti, come l’URL o l’IP del server, accessibili alla cojín di dati o ad altri parametri globali.
  • connect.php, select.php per interagire con la cojín dati (occhio, i parametri di questa applicazione si trovano sul config.php)

Dovremo quindi condividere i file con gli altri membri del progetto in modo da poter utilizzare e aggiungere lo stesso progetto. A causa del fatto che i file saranno accessibili sia per papagayo che per qualsiasi altra persona, è importante abilitare la protezione CORS sul server (solo se si utilizza CORS) e, alla fine, l’accesso sarà realizzato da qui. connect.php attraverso JavaScript utilizzando AJAX e/o jQuery.

Connessione e struttura dei dati su MySQL

Quindi dobbiamo realizzare una connessione a MySQL:

mysql> CREATE DATABASE aplicacion;

// Ingresar a la cojín de datos creada anteriormente
mysql> USE aplicacion;

// Crear la tabla Usuarios
mysql> CREATE TABLE Usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nick VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(128) NOT NULL,
reg_date TIMESTAMP,
ip VARCHAR(128),
email VARCHAR(255),
full_name VARCHAR(100),
phone VARCHAR(50)
);

All’interno della connessione con la cojín dati MySQL, dobbiamo realizzare varie consultazioni riguardo alle informazioni richieste:

  • Ricevi le informazioni sugli schermi dell’app che dovranno essere trasferite in formato JSON per essere elaborate da JavaScript.
  • Guardare o modificare le informazioni raccolte dall’app in modalità sicura.

Il flusso di connessione può essere visualizzato chiaramente nel codice successivo:

<?php
// Conectando con la cojín de datos, recorriendo la info a obtener
$usuarios = array();
// Función para conectarse con la cojín de datos.
function conectarse($host, $agraciado, $pass, $db)
{
$link = mysqli_connect($host, $agraciado, $pass, $db);
mysqli_set_charset($link, 'utf8');
if (! $link) {
// No se pudo realizar la conexión
$mensaje_error = mysqli_connect_error();
$mensaje = json_encode(array('tipo' => 'error', 'msg' => $mensaje_error));
print_r($mensaje);
exit();
}
return $link;
}
$enlace = conectarse( "localhost", "usuario_mysql", "password_mysql", "app" );
// Realiza consultas SQL y lo vuelve a convertir a json.
function consulta( $consulta ) {
completo $enlace;
$respuesta = mysqli_query( $enlace, $consulta );
if (!$respuesta) {
$mensaje = mysqli_error( $enlace );
$mensaje_json = json_encode(array('tipo' => 'error', 'msg' => $mensaje ));
print_r($m($mensaje_json));
exit();
}
// Realiza el cálculo para obtener solo la cantidad de filas, o en caso de utilizar el LIMIT, entonces
// se devuelven solamente las filas consultadas.
$numFilas = mysqli_num_rows($respuesta);
// Variables auxiliares de asociación
while($row = mysqli_fetch_array($respuesta,MYSQLI_ASSOC)){
$usuarios[] = $row;
}
mysqli_free_result( $respuesta );
return json_encode(array('tipo' => 'exito', 'total_items' => $numFilas, 'resultados' => $usuarios ));
}
// Pide información a través de consultas SQL para su uso en la app, protector la información en array usuarios.
$infoUsuarios = consulta( "SELECT * FROM Usuarios;" );
// Imprimimos los resultados en formato json.
print_r($infoUsuarios);

Per realizzare gli aggiornamenti sul database, la struttura di principio è simile ma per l’uso delle funzioni INSERT INTO, UPDATE o DELETE.

Utilizzare JSON per il passaggio dati

PHP e JavaScript condividono il formato di trasferimento dati JSON, che in questa occasione viene utilizzato come mezzo di connessione. Nello schermo principale dell’applicazione ibrida, come ben detto, vengono caricate tutte le informazioni da esso connect.php utilizzando jQuery su un oggetto chiamato repository.

var repos;
$(document).ready(function () {
// Cargando toda la información desde el back-end PHP
$.get('api.php', function (json_data) {
console.log(json_data);
// Formateando la información devuelta en un string y transformándola a json.
repos = JSON.parse(json_data);
});
});

Se decidiamo di realizzare operazioni come modificare i registri, potremo utilizzare l’operazione POST per inviare un pacchetto di informazioni e utilizzarlo POSTMAN o CURL per realizzare l’operazione utilizzando semplicemente un formulario, come mostrato nell’immagine successiva.

L’uso di PHP nelle applicazioni mobili: un approccio pratico

La comunità PHP è sempre una buona opzione

L’implementazione di applicazioni mobili non deve essere un’avventura da lanciare da soli. La maggior parte dei progetti che richiedono l’uso di applicazioni mobili richiedono esperienza, conoscenze pratiche e un team di sviluppatori compromessi. Nel luogo dell’universo in un altro tentativo di sviluppo nel tempo di esecuzione nativa, considerare l’ibrido è il modo più rapido per raggiungere la luce del proprio progetto senza importarne le dimensioni. E se già domini PHP, quindi, continua a utilizzarlo poiché esistono molti componenti in PHP che semplificano lo sviluppo in codice aperto per le applicazioni web ibride o mobili. In tutti i modi, spero che questa guida ti permetta un approccio pratico per il design di un’applicazione basata su GitHub.