Cosa facciamo meglio

Creiamo app per smartphone, la domotica, gestionali.

Server side

Linguaggi di programmazione lato server

Da Wikipedia:

Nelle reti informatiche, l’espressione lato server (server-side in inglese) fa riferimento a operazioni compiute dal server in un ambito client-server contrapponendosi a tutto ciò che viene eseguito sul client (lato client).

Di solito un server è un programma software (ad es. un server web), che gira su una macchina remota (chiamata per estensione “server”) rimanendo in ascolto su determinate porte e raggiungibile da un computer client. Alcune operazioni devono essere compiute dal lato server perché richiedono l’accesso a informazioni o funzionalità non disponibili sul client, o richiedono misure di sicurezza che sarebbero inaffidabili se eseguite lato client.

Le operazioni lato server includono anche trattamento e immagazzinamento di dati da client a server, perché possano essere disponibili ad un gruppo di client.

Ruby

Linguaggio di scripting completamente ad oggetti.
Sviluppiamo scripts e applicazioni di ogni genere.
Usiamo il framework MVC per eccellenza Ruby on Rails (RoR) per sviluppare web application.

PHP

Sviluppiamo software in PHP (OOP)

Utilizziamo framework come CakePHP, Codeigniter, Laravel, Phalcon.

Node.js

Javascript anche sul server.

Lo usiamo, in congiunzione con Redis, per creare sistemi realtime, chat, e molto altro.

L’unico limite è la fantasia.

Client side

Linguaggi e strumenti per ogni webapp

Da Wikipedia:

Nell’ambito delle reti di calcolatori, il termine lato client (client-side in inglese) indica le operazioni di elaborazione effettuate da un client in un’architettura client-server.

Un rapporto tipico di questo tipo è quello effettuato da un’applicazione, come un web browser, che avvia una connessione ad un server per poter funzionare. Le operazioni effettuate in modo client-side di solito vengono effettuate in questo modo poiché richiedono risorse che non possono essere prese sul server, ma che lo sono sul client, perché l’utente deve poter inserire dati da cui avere risposte od osservare il funzionamento dello script, oppure perché al server manca la potenza di elaborazione per poter far funzionare lo script su tutti i client.

Javascript

Ogni giorno usiamo framework come jQuery, underscore, lo-dash, Sugar.js, jQuery mobile.

Usiamo tecniche di sviluppo quali AJAX per creare applicazioni web interattive e moderne.

HTML5

Le nuove specifiche HTML 5.1 consentono di creare applicazioni web disponibili su ogni piattaforma.

WebRTC, Canvas, SVG, LocalStorage, Video e Audio, Geolocalizzazione, Web Workers e molto altro ancora per creare applicazioni di ogni genere.

Angular.js

Angular.js è un framework js by Google che estende le potenzialità dell’HTML.
Come recita lo slogan sul sito: Angular è ciò che HTML avrebbe dovuto essere.

Lo usiamo tutti i giorni per creare applicazioni SPA (Single Page Application).

Database

Da Wikipedia:

In informatica, il termine database, base di dati o banca dati (a volte abbreviato con la sigla DB), indica un archiviodati, o un insieme di archivi ben strutturati, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un particolare modello logico (relazionale, gerarchico, reticolare o a oggetti) in modo tale da consentire la gestione/organizzazione efficiente dei dati stessi e l’interfacciamento con le richieste dell’utente attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) grazie a particolari applicazioni software dedicate (DBMS), basate su un’architettura di tipo client-server.

Utilizziamo vari tipi di database in base alle esigenze del progetto.

Quelli di cui facciamo più “abuso” sono:

SQL

Usiamo database relazionali quali:

MySQL, MariaDB, PostgreSQL, SQLite e molti altri.

Grazie all’impiego di layer di astrazione riusciamo a essere indipendenti dal tipo di database scelto in modo da consentire l’uso di database diversi senza alcuna modifica al codice sorgente.

MongoDB

Forse uno dei database noSQL maggiormente diffuso.

E’ un database document-oriented schemeless che lo rende estramemente flessibile.
Lo utilizziamo laddove c’è bisogno di lavorare con dati di dimensioni molto grandi, oppure dove le prestazioni sono critiche (sistemi real-time)

Redis

Redis è un database NoSQL key-value tra i più usati.

E’ un database in-memory efficiente, cross-platform e cross-language.

Lo utilizziamo per sistemi di Cache o in programmi dove sono richieste performance e/o scambio di dati in asincrono.

Mobile

Applicazioni e soluzioni per smartphone e tablet.

Phonegap

Phonegap (e Cordova) permettono di creare applicazioni HTML5+Javascript per smartphone e tablet Android, Windows Phone, iOS e altri.

I vantaggi principali si riconducono soprattutto ai costi ridotti per realizzare un’app rispetto alle app native.

Di contro le performance saranno ridotte (quindi non si presta, ad esempio, per giochi o programmi di editing grafico).
Come sempre per ogni esigenza/problema va scelto lo strumenti più adatto.

Responsive

Il design responsivo, o responsive web design (RWD), è una tecnica di web design per la realizzazione di siti in grado di adattarsi graficamente in modo automatico al dispositivo coi quali vengono visualizzati (computer con diverse risoluzioni, tablet, smartphone, web tv), riducendo al minimo la necessità per l’utente di ridimensionamento e scorrimento dei contenuti.

Il design responsivo è un importante elemento dell’accessibilità

Web mobile

Non sempre il responsive design è la soluzione adatta a tutte le esigenze.

Spesso si sente la necessità di creare delle web app per dispositivi mobile ad hoc.

Questo consente, spesso, prestazioni più elevate, scambio di dati minori e maggior controllo dell’interfaccia.

Web & Graphic design

Non solo programmazione.

MiServe non è solo programmazione. Grazie ad una stretta collaborazione con PlayInteractive siamo in grado di aiutarti nella realizzazione di loghi, immagini, illustrazioni, volantini, copertine e molto altro.

Insieme per ogni tuo progetto.

miserveConoscenze tecniche