PaintCode è un particolare programma di disegno vettoriale pensato per sviluppatori e che consente di creare interfacce indipendenti dalla risoluzione del dispositivo utilizzato. L’applicazione può genere codice Objective-C per OS X / iOS e C#/MonoTouch; offre una modalità di visualizzazione Retina, tool di disegno vari, strumenti per creare ombreggiature, altri per lavorare con le curve di Bézier. Operatori booleani consentono di combinare figure multiple creando elementi complessi (unificando i tracciati con diversi metodi di forma: per intersecazione, esclusione, unificazione, ecc.) e non mancano tool per creare figure base (rettangoli, cerchi, poligoni, stelle), testi e oggetti dinamici.
Particolarità del programma è la visualizzazione in tempo reale del codice man mano che si disegna, evidenziando anche la sintassi. Il codice generato è di semplice comprensione e sfrutta le API Quartz e Core Graphics.
La Festa delle Offerte Prime Amazon è il 6 e 7 ottobre, ma molti sconti sono già partiti. Le offerte Macitynet e i marchi da controllare nelle prossime ore.
// 1. Configura l'URL e l'identificativo esatto per questo articolo
var disqus_config = function () {
this.page.url = window.location.href.split('?')[0]; // Prende l'URL pulito della pagina
this.page.identifier = window.location.pathname; // Usa il percorso come ID univoco
};
document.addEventListener("DOMContentLoaded", function() {
var disqus_shortname = 'macitynet'; // INSERISCI QUI IL TUO SHORTNAME DISQUS
var disqus_loaded = false;
function loadDisqus() {
if (!disqus_loaded) {
disqus_loaded = true;
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.setAttribute('data-timestamp', +new Date()); // Obbligatorio per le nuove policy Disqus
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}
}
// 2. Lazy load: carica quando arrivi al div
var observer = new IntersectionObserver(function(entries) {
if(entries[0].isIntersecting === true) {
loadDisqus();
observer.disconnect();
}
}, { threshold: [0] });
// Se l'elemento esiste, avvia l'osservatore
var thread = document.getElementById("disqus_thread");
if(thread) observer.observe(thread);
});