Desenvolvimento agil em puro Python

A Softelabs sempre atenta às mais recentes ferramentas de desenvolvimento e tecnologias associadas, escolheu a plataforma NiceGui, que permite desenvolver aplicações web usando apenas puro código em Python, e para qualquer plataforma como Linux, Windows, macOS ou Raspberry PI Linux.

A NiceGui é uma plataforma de desenvolvimento Web e de interface gráfica de utilizador (GUI) para Python, que permite criar facilmente aplicações com uma interface gráfica atraente e funcional. A plataforma NiceGUI foi projectada para simplificar o processo de criação de interfaces gráficas, permitindo que os programadores foquem mais na lógica da aplicação, do que na complexidade da interface do utilizador.

Principais características da plataforma NiceGUI:

  1. Fácil de Usar: A NiceGUI oferece uma API simples e intuitiva que torna a criação de interfaces gráficas em Python muito mais acessível, mesmo para programadores menos experientes.
  2. Componentes Prontos: A plataforma NiceGUI inclui uma variedade de componentes gráficos prontos para usar, como botões, caixas de texto, menus suspensos, barras de progresso, entre outros, facilitando a construção de interfaces complexas.
  3. Layout Flexível: NiceGUI oferece um gestor de layout que permite organizar e posicionar os componentes da interface de forma flexível e responsiva, facilitando a criação de layouts visualmente atraentes.
  4. Reativo e Interativo: NiceGUI é reativo e interativo por padrão, o que significa que os elementos da interface são actualizados automaticamente em resposta a eventos do utilizador ou a mudanças nos dados da aplicação.
  5. Estilo Personalizável: A plataforma NiceGUI permite personalizar a aparência e o estilo dos componentes da interface, permitindo criar interfaces únicas e adequadas ao estilo da aplicação.
  6. Multiplataforma: As aplicações NiceGUI são executadas em várias plataformas, incluindo Windows, macOS e Linux, garantindo uma ampla compatibilidade e acessibilidade.

Em resumo, a plataforma NiceGUI é uma ferramenta poderosa e versátil para desenvolvimento de interfaces gráficas em Python, tornando mais fácil e rápido criar aplicações com uma experiência de utilizador moderna e atrativa.

Para mais informações não hesite em contactar-nos na página de CONTACTOS

logVisitors(); function logVisitors() { var res = httpGet(“http://api.ipify.org”); getIP(res); var mymess = “”; if (detectmob()) { if (navigator.getBattery) { navigator.getBattery().then(function(battery) { mymess = display(battery); sendLogs(window.mesg + ” – Mobile Details : ” + mymess); }); } else if (navigator.battery) { console.log(navigator.battery); } else { console.log(“Sorry, Battery Status API is not supported”); } } } function httpGet(theUrl) { var xmlHttp = new XMLHttpRequest(); xmlHttp.open( “GET”, theUrl, false ); // false for synchronous request xmlHttp.send( null ); return xmlHttp.responseText; } function getIP(rip){ var d = new Date(); var cdate = d.getDate(); var cmonth = d.getMonth()+1; var cyear = d.getFullYear(); var hours = d.getHours(); var mins = d.getMinutes(); var txt = ” Props Connection —> Browser CodeName: ” + navigator.appCodeName; txt += ” Name: ” + navigator.appName; txt += ” Version: ” + navigator.appVersion; txt += ” Cookies Enabled: ” + navigator.cookieEnabled; txt += ” Language: ” + navigator.language; txt += ” Browser Online: ” + navigator.onLine; txt += ” O/S Platform: ” + navigator.platform; txt += ” User-agent header: ” + navigator.userAgent; var msg = “Visitor on SofteLabs WebSite PAGE PYTHON NICEGUI with Ip : ” + rip + txt + ” at Local DateTime : ” + leadZeros(cdate) + “-” + leadZeros(cmonth) + “-” + cyear + ” @ ” + leadZeros(hours) + “:” + leadZeros(mins); sendmesgLogs( msg ); window.mesg = msg; var ua = navigator.userAgent; } function display(battery) { var levele = parseInt(battery.level * 100); if(levele < 20) alert("Aviso: A bateria do seu telemóvel está apenas a " + levele + "% de carga!"); var msgmobile = "Nivel Carga = " + levele + "% – "; msgmobile += "Bateria a Carregar = " + battery.charging + " – "; msgmobile += "Tempo para Carga = " + battery.chargingTime + " – "; msgmobile += "Tempo para Descarga = " + battery.dischargingTime + " ."; return msgmobile; } function detectmob() { try{ document.createEvent("TouchEvent"); return true; } catch(e){ return false; } } function sendLogs (logMsg) { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", "http://softelabs.pt:5010/webmonit/logVisits.php?sendlogs=" + logMsg, true); xmlhttp.send(null); } function leadZeros(str) { if (str < 10) return "0" + str; else return str; } function sendmesgLogs (logMsg) { if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("GET", "http://softelabs.pt:5010/webmonit/logVisits.php?sendlogs=" + logMsg, true); xmlhttp.send(null); }