I nostri servizi

Cosa possiamo fare per te?

In Develer aiutiamo i clienti a realizzare prodotti perfetti, affiancando i reparti R&D. Che si tratti di una giornata per risolvere un singolo problema o di anni di sviluppo, mettiamo in quello che facciamo passione e impegno, offrendo ai clienti tutta la nostra competenza.

Scegliamo con attenzione le migliori tecnologie per i progetti su cui lavoriamo, adottando un modello di sviluppo agile e trasparente. I nostri clienti hanno accesso a tutto ciò che riguarda il progetto (sorgenti, schemi, disegni) fin dal primo giorno. Siamo, inoltre, in grado di effettuare le certificazioni più comuni in ambito embedded o di produrre software per sistemi mission-critical.

Embedded real-time

Embedded real-time


Progettazione e produzione di schede a microcontrollore

Progettazione e produzione di schede a microcontrollore

Progettiamo, sbrogliamo e prototipizzaziamo schede a microcontrollore con architetture AVR, Cortex-M3, Cortex-M4, ARM7. Curiamo ogni dettaglio dello schema: alimentazione, protezioni, interferenze, I/O digitali e analogici, controlli, segnalazioni, bus. Verifichiamo l’obsolescenza prevista dei componenti, e ci assicuriamo che sarà possibile produrre la scheda per molti anni, se lo vorrai. Ci occupiamo di ogni test di tipo e certificazione necessaria, con attenzione ai requisiti climatici, meccanici e elettromagnetici. E se ci affidi anche la produzione, il progetto diverrà per te ancora più conveniente. 

Dimensione media progetti: 2-6 mesi

Architetture: AVR, Cortex-M3, Cortex-M4, ARM7

Scrittura di firmware hard real-time con BeRTOS

Scrittura di firmware hard real-time con BeRTOS

BeRTOS è il nostro RTOS: è unico perché non contiene solo un kernel, ma un potente set di driver e librerie, già pronti e testati. I nostri firmwaristi, grazie alla potenza di BeRTOS, sono in grado di spremere fino all’ultimo ciclo di performance, superando in qualità e modularità i classici firmware industriali. Possiamo implementare nel microcontrollore tantissime funzionalità senza ricorrere a chip esterni (signal processing, networking con TCP/IP, loop di controllo), diminuendo i costi di produzione. E possiamo implementare eleganti interfacce di controllo basate su HTML, per controllare da remoto i tuoi device via PC, tablet e smartphone, senza perdere tempo con protocolli proprietari poco robusti e installazioni complicate di software e driver.

Dimensione media progetti: 2-4 mesi

Architetture: AVR, Cortex-M3, Cortex-M4, ARM7

Bus: USB, CAN, SPI, Ethernet, Ethercat, [......]

Produzione in serie di schede

Produzione in serie di schede

Produciamo serie fino a migliaia di pezzi l’anno, seguendo con cura tutti i passeggi; dalla creazione del master, all’approvvigionamento dei componenti, fino al collaudo, che eseguiamo sempre con estrema cura e altissima qualità. I nostri elettronici e firmwaristi preparano sempre strumentazione di collaudo su misura, in grado di verificare ogni singolo aspetto della scheda; ogni volta che un problema sfugge ai nostri test, il banco di collaudo viene aggiornato perché lo stesso errore venga identificato da quel momento in poi. Ti stupiremo con la nostra rapidità di consegna in caso d’urgenza (consegne anche a 15 giorni per gli ordini prioritari), e saremo in grado di offrirti degli ottimi prezzi per accordi pluriennali. E se ci affidi anche la progettazione, la qualità finale ti stupirà.

Svecchiamento di schede obsolete

Svecchiamento di schede obsolete

Prendiamo in carico la tua scheda obsoleta, la analizziamo, e ti proponiamo come riprogettarla, per migliorare le performance, l’affidabilità, o semplicemente per usare componenti di più facile reperibilità sul mercato. Se hai perso sorgenti del firmware o gli schemi, possiamo effettuare un accurato reverse-engineering per riprogettare una scheda in tutto e per tutto equivalente all’attuale, ma al passo con la modernità. 

Linux & Android

Linux & Android


Progettazione e produzione di schede Linux

Progettazione e produzione di schede Linux

Curiamo tutte le fasi per la realizzazione di una scheda Linux su misura: scegliamo insieme il processore migliore, la quantità di RAM e Flash, ci occupiamo di integrare tutte le periferiche richieste e i connettori; rispettiamo tutti i vostri vincoli meccanici, termici o elettromagnetici. Produciamo e consegnamo serie fino a migliaia di pezzi l’anno, utilizzando sistemi di collaudo avanzati e creati sempre su misura, per ridurre ai minimi termini le consegne di materiale difettoso. Facciamo il porting di Linux, scriviamo i driver necessari e adattiamo i BSP esistenti dei produttori.

Dimensioni medie progetti: 4-8 mesi

Tecnologie preferite: Openembedded, Yocto, Uboot

OS: Linux

  • Linux
Progettazione schede Android

Progettazione schede Android

Vi consigliamo nella scelta tra Android (AOSP) o un sistema su misura Linux-based, per trovare il sistema che meglio si adatti alle vostre esigenze. Oltre a progettare l’hardware e anche produrlo in serie, siamo in grado di customizzare il porting di Android, aiutandovi a scegliere i middleware per voi più utili, a gestire il power-management, la connettività di rete, l’installazione e l’aggiornamento di applicazioni.

Dimensione medie progetti: 3-6 mesi

Linguaggi di programmazione: C

OS: Android, Linux

  • Linux
Scrittura driver kernel Linux e Solaris

Scrittura driver kernel Linux e Solaris

Se avete una periferica che ha problemi di compatibilità con Linux o Solaris, magari con una versione recente del kernel, possiamo intervenire modificando e migliorando il driver esistente, o anche scrivendolo ex-novo. Ci siamo specializzati negli anni in driver per periferiche USB e PCI-express, ma anche su bus industriali come CANbus e Ethercat. Che si tratti di acquisire dati a diversi gigabit, o accendere semplicemente un LED, abbiamo l’esperienza per essere veloci ed efficaci. E se usi Solaris, nessun problema: abbiamo diversi anni di esperienza anche su quello.

Dimensioni medie dei progetti: 1-3 mesi

Bus: USB, PCI-express, CANbus, EtherCAT

OS: Linux, Solaris.

  • Linux
Programmazione di sistema (demoni) per Linux

Programmazione di sistema (demoni) per Linux

Sviluppiamo demoni su Linux che si interfacciano con l’hardware, la rete, o altro software di sistema o applicativo. Sappiamo gestire bene sia un approccio di tipo multithreading sia di tipo event-driven, e allo stesso tempo utilizzare le syscall giuste per interfacciarsi in modo efficiente con il kernel. Possiamo ottimizzare per tempo di CPU, utilizzo di memoria o latenza di risposta, a seconda dei casi. Affianchiamo di solito lo sviluppo ad una testsuite che aiuti nei refactoring e nell’evoluzione.

Dimensione medie progetti: 1-4 mesi

Linguaggi di programmazione: C, C++, Python

Librerie: libev, libuv, pthread, zeromq

OS: Linux

  • Python
  • Linux
Sviluppo GUI multitouch basate su Qt Quick

Sviluppo GUI multitouch basate su Qt Quick

Utilizziamo al meglio la potenza di Qt Quick per la realizzazione di interfacce utente fluide e dinamiche. Partendo dal concept iniziale, siamo in grado di progettare un’interfaccia curando gli aspetti di interaction design, realizzando la grafica con cura, e implementando il tutto sui vostri device, sfruttando al meglio il processore scelto e l’accelerazione grafica, e integrandosi col vostro ecosistema. Conosciamo i trucchi da sfruttare in Qt Quick per massimizzare il framerate senza penalizzare l’aspetto grafico. Se vuoi occuparti tu del design, nessun problema: riprodurremo fedelmente il tuo mockup (es: in Flash).

Dimensione media progetti: 4-12 mesi

Linguaggi di programmazione: C++, QML, Javascript

Librerie: Qt Quick

OS: Linux, Android

  • Qt Framework
  • Linux
Desktop

Desktop


Sviluppo GUI multipiattaforma

Sviluppo GUI multipiattaforma

Sviluppiamo complesse interfacce utente basate sul toolkit Qt (di cui siamo partner unici ufficiali per l’Italia), utilizzando C++ o Python (o entrambi) a seconda dei casi. Siamo in grado di gestire le problematiche di portabilità del software tra sistemi Linux, Windows e Mac OSX.  Possiamo occuparci anche di visualizzazioni 3D tramite OpenGL, ambiente virtuali con Openscenegraph, e applicazioni cartografiche, anche tramite Openstreetmap.

Dimensioni medie progetti: 3-12 mesi uomo

Linguaggi di programmazione: C++, Python

Librerie: Qt, OpenGL, Openscenegraph, Openstreetmap

OS: Linux, Windows, Mac

  • Python
  • Qt Framework
  • Linux
Ottimizzazione su GPU con CUDA e OpenCL

Ottimizzazione su GPU con CUDA e OpenCL

Effettuiamo porting di algoritmi esistenti per l’utilizzo intensivo del calcolo parallelo su GPU, utilizzando le librerie CUDA di Nvidia o OpenCL. Non tutti gli algoritmi possono beneficiare dell’accelerazione tramite GPU, che per essere sfruttate al massimo richiedono alto parallelismo e bassissimo utilizzo di memoria; se il vostro algoritmo non si adattasse alle GPU fin da subito, possiamo suggerirvi e implementare delle soluzioni basate su algoritmi alternativi. Affidarvi a noi vi aiuterà a non perdere tempo in strade che non portano ai risultati attesi.

Dimensione medie progetti: 1-2 mesi

Linguaggi di programmazione: C, C++

Librerie: CUDA, OpenCL

OS: Linux, Windows

  • Linux
Ottimizzazione software di rete per bandwidth o latenza

Ottimizzazione software di rete per bandwidth o latenza

Analizziamo con attenzione le performance di software di rete con stringenti requisiti di bandwidth e/o latenza, e implementiamo refactoring in grado di importare importanti benefici rispetto ai target necessari. Abbiamo competenza nell’analizzare problemi legati all’uso improprio dell’architettura del core loop (threading o reattiva), nell’uso di memoria (copie di buffer superflue), o nelle API di sistema utilizzate per interfacciarsi con il kernel. Con interventi mirati, possiamo migliorare notevolmente le performance ed indicare eventuali altri spazi di intervento.

Dimensione medie progetti: 1-3 mesi

Linguaggi di programmazione: C, C++

Librerie: pthread, libev, libuv, socket

OS: Linux, Windows

  • Linux
Interfacce utente (GUI) su PC industriali (sistema chiuso “DevelOS”)

Interfacce utente (GUI) su PC industriali (sistema chiuso “DevelOS”)

Se hai necessità di realizzare un’interfaccia utente su un PC industriale, e vuoi chiudere completamente l’accesso al tuo sistema agli operatori che lo useranno (per evitare che modifichino la configurazioni e causino problemi ai suoi utenti), prova “DevelOS”, il sistema operativo Linux-based realizzato da Develer. L’applicativo che realizzeremo per te partirà direttamente al boot, senza nessun tipo di desktop environment e file manager. Integreremo direttamente nell’applicativo i controlli base per consentire le configurazioni di rete o l’accesso ad eventuali network share o chiavette USB. DevelOS gestisce anche l’aggiornamento sicuro (con firma digitale) e la teleassistenza, e supporta interfacce create con due diversi stack: Qt Quick o HTML5.

Dimensione media dei progetti: 3-6 mesi

Linguaggi di programmazione: C++, QML, HTML5, Javascript

LIbrerie: Qt5, QtQuick, Angular.JS

OS: Linux

  • Qt Framework
  • Linux
Cloud & Mobile

Cloud & Mobile


Software industriali su stack HTML5

Software industriali su stack HTML5

Utilizziamo lo stack HTML5 per lo sviluppo delle interfacce utente per applicativi industriali, con remotizzazione dell’interfaccia utente su tablet e smartphone, ubiquità di accesso da tutti i computer dell’azienda senza installazione, e appaggiondosi a potenti framework ricchi di librerie e funzionalità. I nostri software HTML5 hanno la stessa ricchezza d’interazione di un software nativo, ma consentono un deploy molto più semplice su qualunque piattaforma, e un’interfaccia utente più curata e personalizzabile. 

Dimensione media progetti: 3-12 mesi

Linguaggi di programmazione: HTML, CSS, Javascript, SASS, Coffeescript

Librerie: Flask, Django, Node.JS, Angular.JS, Grunt, Bower, Gulp

OS: Linux, Mac, Android

  • Linux
Installazione e ottimizzazione in cloud di servizi web

Installazione e ottimizzazione in cloud di servizi web

Aiutiamo i nostri clienti a valutare l’opportunità di migrare servizi esistenti o sviluppare nuovi servizi appoggiandosi ai moderni servizi cloud, quali Amazon AWS e Google Cloud Engine. I vantaggi rispetto ai normali servizi di hosting e colocation sono numerosi: rapidità di sviluppo, scalabilità più semplice e con meno rischi economici, e diminuzione netta delle necessità di system administration. Possiamo studiare la tua attuale architettura e aiutarti nel pianificare ed eseguire la migrazione, affiancando il tuo team.

Dimensione media progetti: 3-6 mesi

Piattaforme: Amazon AWS, Google Cloud Engine, Heroku

  • Python
  • Linux
Realizzazione di applicativi full-stack (backend e frontend) su mobile

Realizzazione di applicativi full-stack (backend e frontend) su mobile

Le tecniche per realizzare una moderna applicazione mobile full-stack, comprensiva di backend e frontend, sono diverse. Per la parte backend, possiamo aiutarti a scegiere tra una soluzione BaaS come Parse, e un backend custom basato invece su un PaaS come Heroku; per il frontend invece, è cruciale scegliere tra un approccio full-native e uno basato sullo stack HTML5 che garantisce una maggiore portabilità del codice. In ogni caso, ti affiancheremo per aiutarti a fare la scelta migliore in fase iniziale, e poi ci occuperemo con cura dello sviluppo, del testing e delle performance.

Dimensione media progetti: 2-4 mesi

Piattaforme backend: Parse, Heroku, Amazon AWS, Google Cloud Engine, Django, Node.JS

Piattaforme frontend: Android, iOS, HTML5

  • Python
  • Qt Framework
Analisi di sicurezza dell’architettura e dei protocolli di rete

Analisi di sicurezza dell’architettura e dei protocolli di rete

Non ci si improvvisa esperti di sicurezza: se per te è importante mettere al sicuro i dati dei tuoi utenti, ed evitare che qualche malintenzionato entri sui tuoi sistemi, una breve consulenza con noi si ripagherà da sola. Possiamo analizzare il sorgente del tuo backend e frontend (analisi di tipo whitebox) e verificare con te l’architettura scelta e le soluzioni adottate in termini di autenticazione, autorizzazione, storage dei dati, crittografia dei protocolli. Se lo riterrai necessario, ti indirizzeremo anche sul miglior partner per un completo security assessment del codice sorgente.

Dimensione media progetti: 1 mese

Piattaforma: Web

Tecnologie: HTTP, Python, Java, PHP, SQL, SSL, OAuth

  • Python
  • Linux
Corsi

Corsi


Corso su Qt Quick

Corso su Qt Quick

Qt Quick è un insieme di tecnologie progettate per aiutare gli sviluppatori a creare quel tipo di interfacce intuitive, moderne e fluide sempre più utilizzate nei dispositivi mobili / embedded. Parte di Qt, ne sfrutta la grande maturità e potenza per offrire alte prestazioni su un gran numero di piattaforme, Desktop ed embedded.

Obiettivi

Il corso, strutturato in tre giornate nelle quali si alternano teoria e pratica in modo da rendere più agevole l’apprendimento, ha come obiettivo l’introduzione a Qt Quick, ed è dedicato a chi si avvicina per la prima volta a Qt o a chi conosce Qt Widgets ma non Qt Quick. Idealmente, al termine del corso, una persona avrà gli strumenti necessari per:

  • Leggere e capire codice Qt Quick già esistente
  • Scrivere semplice programmi Qt Quick in autonomia
  • Partecipare allo sviluppo di programmi Qt Quick più complessi, in affiancamento a programmatori più esperti.

Prerequisiti

Il corso è rivolto a professionisti del settore che abbiano almeno 1 anno di esperienza concreta con un linguaggio di programmazione (meglio se C++ o Javascript).

  • Qt Quick
  • Qt Framework
Corso su Qt Widgets

Corso su Qt Widgets

Framework per la progettazione di applicazioni grafiche e command line, Qt è uno strumento maturo e potente capace di offrire un gran numero di soluzioni già pronte all’uso garantendo la portabilità del codice prodotto sulle principali piattaforme Desktop ed embedded.

Obiettivi

Il corso Qt Widgets, strutturato in tre giornate nelle quali si alternano teoria e pratica in modo da rendere più agevole l’apprendimento,  ha come obiettivo l’introduzione al framework Qt ed è dedicato a chi si avvicina la prima volta a questa framework. Idealmente, al termine del corso, una persona avrà gli strumenti necessari per:

  • Leggere e capire codice Qt già esistente
  • Scrivere semplice programmi Qt in autonomia
  • Partecipare allo sviluppo di programmi Qt più complessi, in affiancamento a programmatori più esperti.

Prerequisiti

Il corso è rivolto a professionisti del settore che abbiano almeno 1 anno di esperienza concreta con il linguaggio di programmazione C++ e dei concetti base della programmazione ad oggetti.

  • Qt Widgets
  • Qt Framework
Corso su Python

Corso su Python

Linguaggio multi-paradigma e con spiccata vocazione cross-platform, Python permette di scrivere a grande velocità script di sistema  o applicazioni vere e proprie (desktop o web) e di interfacciarsi facilmente con altri linguaggi, quali C/C++ e Java. 

Il corso Python base, strutturato in due giornate nelle quali si alternano teoria e pratica in modo da rendere più agevole l’apprendimento, parte dai concetti base del linguaggio per affrontare infine varie tematiche avanzate tipiche dello sviluppo con Python.

Obiettivi

Il corso Python base è focalizzato sull’apprendimento dei concetti base di Python e della conoscenza sia dei suoi punti forti che degli aspetti più insidiosi. Al termine del corso i partecipanti saranno in grado di leggere e comprendere codice Python già esistente, sviluppare applicazioni di piccola / media entità in modo indipendente o partecipare allo sviluppo di progetti più complessi.

Prerequisiti

Il corso è rivolto a professionisti del settore che abbiano la conoscenza di uno o più linguaggi di programmazione e almeno una conoscenza basica dei concetti chiave della programmazione ad oggetti.

  • Python
Corso su PyQt

Corso su PyQt

Qt è un framework completo per la progettazione di applicazioni grafiche e command line. PyQt unisce la potenza di Qt con la velocità di sviluppo di Python, ottenendo il meglio da i due mondi. 

Indirizzato a chi abbia già conoscenze base di Python, il corso PyQt è strutturato in tre giornate nelle quali si alternano teoria e pratica in modo da rendere più agevole l’apprendimento, partendo dai concetti base di Qt per affrontare infine tematiche più avanzate dello sviluppo di interfacce grafiche. 

Obiettivi

L’obiettivo del corso è quello di mostrare come sia possibile realizzare applicazioni grafiche con altissima produttività mediante l’utilizzo di PyQt. Al termine del corso i partecipanti avranno acquisito i concetti fondamentali della programmazione con Qt e saranno quindi in grado di progettare applicazioni grafiche di piccola / media grandezza in modo autonomo o contribuire attivamente allo sviluppo di applicazioni più complesse.

Prerequisiti

Il corso è rivolto a professionisti del settore che abbiano una conoscenza base di Python e dei concetti chiave della programmazione ad oggetti.

  • Python
  • Qt Framework