Saltar al contenido principal

11 publicaciones etiquetados con "muestra"

Ver todas las categorías

Resumen del ecosistema 2023

· 6 lectura mínima

Reflexionando sobre las mejoras y cambios en el ecosistema para desarrolladores de Electron en 2023.


¡En los últimos meses, hemos estado cocinando algunos cambios en el ecosistema de Electron para sobrecargar la experiencia de desarrollador para aplicaciones de Electron! Aquí hay un breve resumen de las últimas adiciones directamente de Electron HQ.

Electron Forge 7 y más allá

Electron Forge 7 — la versión más reciente de nuestra herramienta todo en uno para empacar y distribuir aplicaciones de Electron — ya está disponible.

Mientras Forge 6 fue una reescritura completa de v5, v7 es más pequeña en alcance, pero aún contiene algunos cambios de ruptura. Siguiendo adelante, continuaremos publicando versiones importantes de Forge a medida que se necesite realizar cambios relevantes.

Para más detalles, vea el listado completo de cambios de Forge v7.0.0 en GitHub.

Cambios notables

  • Se ha cambiado a notarytool para la notarización de macOS: En 2023-11-01, Apple puso fin a la altool heredada para la notarización de macOS y este lanzamiento la elimina de Electron Forge completamente.
  • Versión mínima de Node.js aumentada a v16.4.0: Con este lanzamiento, hemos establecido la versión mínima requerida de Node.js a 16.4.0.
  • Se ha eliminado el soporte para electron-prebuilt y electron-prebuilt-compile: electron-prebuilt era el nombre original para el módulo npm de Electron, pero se ha reemplazado por electron en v1.3.1. electron-prebuilt-console era una alternativa a ese binario que viene con características DX mejoradas, pero eventualmente fue abandonado como proyecto.

Highlights

  • Editor de Google Cloud Storage: ¡Como parte de nuestro compromiso de mejorar el soporte de la actualización automática estática, Electron Forge ahora soporta la publicación directa a Google Cloud Storage!
  • Soporte para ESM forge.config.js: Electron Forge ahora soporta los archivos forge.config.js. (P.D. Esperamos el soporte de puntos de entrada ESM en Electron 28.)
  • Makers ahora se ejecutan en paralelo: En Electron Forge 6, Makers se ejecutó secuencialmente para el ✨ legado ✨. Desde entonces, hemos probado paralelización para el paso de hacer sin efectos secundarios adversos, ¡así que deberías ver una aceleración al construir múltiples objetivos para la misma plataforma!
Thank you!

🙇 Gran gracias a mahnunchik por las contribuciones tanto para el editor GCS como para soporte ESM en configuraciones de Forge!

Mejor soporte estático y actualizaciones automáticas

Squirrel.Windows y Squirrel.Mac son tecnologías actualizadoras específicas de la plataforma que respaldan el módulo autoUpdater integrado de Electron. Ambos proyectos soportan actualizaciones automáticas mediante dos métodos:

  • Un servidor de actualizaciones compatible con Squirrel
  • Una URL de manifiesto alojada en un proveedor de almacenamiento estático (por ejemplo, AWS, Google Cloud Platform, Microsoft Azure, etc.)

El método de actualización del servidor ha sido tradicionalmente el método recomendado para las aplicaciones Electron (y proporciona personalización adicional de la lógica de actualización), pero tiene un lado inferior importante — requiere que las aplicaciones mantengan su propia instancia del servidor si son de código cerrado.

Por otra parte, el método de almacenamiento estático siempre ha sido posible, pero fue indocumentado dentro de Electron y mal soportado en los paquetes de herramientas de Electron.

Con un gran trabajo de @MarshallOfSound, la historia de actualizaciones para actualizaciones automáticas de aplicaciones sin servidor se ha simplificado drásticamente:

  • Los creadores Zip y Squirrel.Windows de Electron Forge ahora pueden configurarse para mostrar los manifiestos de actualización compatibles con autoUpdater.
  • Una nueva versión principal de update-electron-app (v2.0.0) ahora puede leer estos manifiestos generados como una alternativa al servidor update.electronjs.org.

Una vez que sus Makers y Publishers estén configurados para cargar manifiestos de actualización a la nube de almacenamiento de archivos, puede habilitar actualizaciones automáticas con sólo unas pocas líneas de configuración:

const { updateElectronApp, UpdateSourceType } = require('update-electron-app');

updateElectronApp({
updateSource: {
type: UpdateSourceType.StaticStorage,
baseUrl: `https://my-manifest.url/${process.platform}/${process.arch}`,
},
});
Leer más

📦 ¿Quieres aprender más? Para obtener una guía detallada, consulte la documentación de actualización automática de Forge.

El universo extendido @electron/

Cuando Electron comenzó por primera vez, la comunidad publicó muchos paquetes para mejorar la experiencia de desarrollar, empaquetar y distribuir aplicaciones de Electron. Con el tiempo, muchos de estos paquetes fueron incorporados a la organización GitHub de Electron, y el equipo central asumió la carga de mantenimiento.

En 2022, comenzamos a unificar todas estas herramientas de primer partido bajo el nombre de @electron/ en npm. Este cambio significa que los paquetes que solían ser electron-foo ahora son @electron/foo en npm, y los repositorios que antes se llamaban electron/electron-foo ahora son electron/foo en GitHub. Estos cambios ayudan claramente a fomentar proyectos de primera parte a partir de proyectos de tierras de usuario. Esto incluye muchos paquetes comúnmente usados, como:

  • @electron/asar
  • @electron/fuses
  • @electron/get
  • @electron/notarize
  • @electron/osx-sign
  • @electron/packager
  • @electron/rebuild
  • @electron/remote
  • @electron/symbolicate-mac
  • @electron/universal

Siguiendo adelante, todos los paquetes de la primera parte que liberemos también estarán en el espacio de nombre de @electron/. Hay dos excepciones a esta regla:

  • El núcleo de Electron continuará publicándose bajo el paquete electron.
  • Electron Forge continuará publicando todos sus paquetes monorepo bajo el espacio de nombre de @electron-forge/.
Buscando estrellas

⭐ Durante este proceso, también tomamos accidentalmente el repositorio electron/packager privado, que tiene el desafortunado efecto secundario de borrar nuestro contador de estrellas de GitHub (más de 9000 antes de la borrada). Si eres un usuario activo del paquete, apreciaríamos una ⭐ Estrella ⭐!

Presentando @electron/windows-sign

A partir de 2023-06-01, los estándares de la industria comenzaron a requerir que las claves para que los certificados de firma de código de Windows se almacenaran en hardware compatible con FIPS.

En la práctica, esto significó que la firma de código se volvió mucho más difícil para las aplicaciones que construyen y firman en entornos IC, ya que muchas herramientas de Electron toman un archivo de certificado y contraseña como parámetros de configuración e intentan firmar desde allí usando lógica codificada.

Esta situación ha sido un punto de dolor común para los desarrolladores de Electron que es la razón por la que hemos estado trabajando en una mejor solución que aísla la firma de código de Windows en su propio paso independiente, similar a lo que @electron/osx-sign hace en macOS.

En el futuro, planeamos integrar plenamente este paquete en la cadena de herramientas Electron Forge, pero actualmente vive por su cuenta. El paquete está actualmente disponible para la instalación en npm install --save-dev @electron/windows-sign y puede usarse programáticamente o a través de CLI.

¡Inténtalo y danos tu opinión en el seguimiento de incidencias del repositorio!

¿Qué sigue?

Estaremos entrando en nuestro período anual de silencio de diciembre el mes que viene. Mientras lo hacemos, estaremos pensando en cómo podemos mejorar aún más la experiencia de desarrollo de Electron en 2024.

¿Hay algo que te gustaría ver trabajar en el futuro? ¡Déjanos saber!

Proyecto de la semana: Jasper

· 5 lectura mínima

Esta semana hemos entrevistado al creador de Jasper, una herramienta basada en Electron para administrar las notificaciones de GitHub.


¡Hola! ¿Quién eres?

I'm Ryo Maruyama, a software developer in Japan. I am developing Jasper and ESDoc.

¿Qué es Jasper?

Jasper es un lector de problemas flexible y potente para GitHub. It supports issues and pull requests on github.com and GitHub Enterprise.

Jasper App Screenshot

Why did you make it?

When people use GitHub in their job or OSS activities, they tend to receive many notifications on a daily basis. As a way to subscribe to the notifications, GitHub provides email and web notifications. I used these for a couple of years, but I faced the following problems:

  • It's easy to overlook issues where I was mentioned, I commented, or I am watching.
  • I put some issues in a corner of my head to check later, but I sometimes forget about them.
  • To not forget issues, I keep many tabs open in my browser.
  • It's hard to check all issues that are related to me.
  • It's hard to grasp all of my team's activity.

I was spending a lot of time and energy trying to prevent those problems, so I decided to make an issue reader for GitHub to solve these problems efficiently, and started developing Jasper.

Who's using Jasper?

Jasper is used by developers, designers, and managers in several companies that are using GitHub. Of course, some OSS developers also are using it. And it is also used by some people at GitHub!

How does Jasper work?

Once Jasper is configured, the following screen appears. From left to right, you can see "streams list", "issues list" and "issue body".

Jasper Start Screen

This "stream" is the core feature of Jasper. For example, if you want to see "issues that are assigned to @zeke in the electron/electron repository", you create the following stream:

repo:electron/electron assignee:zeke is:issue

Jasper Start Screen 2

After creating the stream and waiting for a few seconds, you can see the issues that meet the conditions.

Jasper Start Screen 3

What can we do with streams?

I will introduce what kind of conditions can be used for stream.

Users and Teams

StreamProblemas
mentions:cat mentions:dogIssues that mention user cat or dog
author:cat author:dogIssues created by user cat or dog
assignee:cat assignee:dogIssues assigned to cat or dog
commenter:cat commenter:dogIssues that cat or dog commented on
involves:cat involves:dogIssues that "involve" cat or bob
team:animal/white-cat team:animal/black-dogIssues that animal/white-cat or animal/black-dog are mentioned in

involves means mention, author, assignee or commenter

Repositories and Organizations

StreamProblemas
repo:cat/jump repo:dog/runIssues in cat/jump or dog/run
org:electron user:cat user:dogIssues in electron, cat or dog

org is same as user

Atributos

StreamProblemas
repo:cat/jump milestone:v1.0.0 milestone:v1.0.1Issues that are attached to v1.0.0 or v1.0.1 in cat/jump
repo:cat/jump label:bug label:blockerIssues that are attached bug and blocker in cat/jump
electron OR atomshellIssues that include electron or atomshell

Review Status

StreamProblemas
is:pr review:requiredIssues that are required review in cat/jump
is:pr review-requested:catIssues that are requested review by cat.
But these are not reviewed yet.
is:pr reviewed-by:catIssues that are reviewed by cat

As you may have noticed by looking at these, streams can use GitHub's search queries. For details on how to use streams and search queries, see the following URLs.

Jasper also has features for unread issue management, unread comment management, marking stars, notification updating, filtering issues, keyboard shortcuts, etc.

Is Jasper a paid product? How much does it cost?

Jasper is $12. However you can use the free trial edition for 30 days.

Why did you choose to build Jasper on Electron?

I like the following aspects of Electron:

  • Apps can be developed with JavaScript/CSS/HTML.
  • Apps can be built for Windows, Mac, and Linux platforms.
  • Electron is actively developed and has a large community.

These features enable rapid and simple desktop application development. It is awesome! If you have any product idea, you should consider using Electron by all means.

What are some challenges you've faced while developing Jasper?

I had a hard time figuring out the "stream" concept. Al principio consideré usar la API de Notificaciones de GitHub. However I noticed that it does not support certain use cases. Después de eso consideré usar la API de problemas y API de Pull Requests, además de la API de Notificación. But it never became what I wanted. Entonces mientras pensaba en varios métodos, me di cuenta de que el sondeo de la API de búsqueda de GitHub ofrecería la mayor flexibilidad. It took about a month of experimentation to get to this point, then I implemented a prototype of Jasper with the stream concept in two days.

Note: The polling is limited to once every 10 seconds at most. This is acceptable enough for the restriction of GitHub API.

What's coming next?

I have a plan to develop the following features:

  • A filtered stream: A stream has some filtered stream that filter issues in the stream. It is like as view of SQL.
  • Multiple accounts: you will be able to use both github.com and GHE
  • Improve performance: For now the loading a issue in WebView is low speed than normal browser.

Follow @jasperappio on Twitter for updates.

Project of the Week: WebTorrent

· 9 lectura mínima

This week we caught up with @feross and @dcposch to talk about WebTorrent, the web-powered torrent client that connects users together to form a distributed, decentralized browser-to-browser network.


What is WebTorrent?

WebTorrent is the first torrent client that works in the browser. It's written completely in JavaScript and it can use WebRTC for peer-to-peer transport. No browser plugin, extension, or installation is required.

Using open web standards, WebTorrent connects website users together to form a distributed, decentralized browser-to-browser network for efficient file transfer.

You can see a demo of WebTorrent in action here: webtorrent.io.

webtorrent homepage

Why is this cool?

Imagine a video site like YouTube, but where visitors help to host the site's content. The more people that use a WebTorrent-powered website, the faster and more resilient it becomes.

Browser-to-browser communication cuts out the middle-man and lets people communicate on their own terms. No more client/server – just a network of peers, all equal. WebTorrent is the first step in the journey to re-decentralize the Web.

Where does Electron come into the picture?

About one year ago, we decided to build WebTorrent Desktop, a version of WebTorrent that runs as a desktop app.

WebTorrent Desktop player window

We created WebTorrent Desktop for three reasons:

  1. We wanted a clean, lightweight, ad-free, open source torrent app
  2. We wanted a torrent app with good streaming support
  3. We need a "hybrid client" that connects the BitTorrent and WebTorrent networks

If we can already download torrents in my web browser, why a desktop app?

First, a bit of background on the design of WebTorrent.

webtorrent desktop logo

In the early days, BitTorrent used TCP as its transport protocol. Later, uTP came along promising better performance and additional advantages over TCP. Every mainstream torrent client eventually adopted uTP, and today you can use BitTorrent over either protocol. The WebRTC protocol is the next logical step. It brings the promise of interoperability with web browsers – one giant P2P network made up of all desktop BitTorrent clients and millions of web browsers.

“Web peers” (torrent peers that run in a web browser) make the BitTorrent network stronger by adding millions of new peers, and spreading BitTorrent to dozens of new use cases. WebTorrent follows the BitTorrent spec as closely as possible, to make it easy for existing BitTorrent clients to add support for WebTorrent.

Some torrent apps like Vuze already support web peers, but we didn't want to wait around for the rest to add support. So basically, WebTorrent Desktop was our way to speed up the adoption of the WebTorrent protocol. By making an awesome torrent app that people really want to use, we increase the number of peers in the network that can share torrents with web peers (i.e. users on websites).

What are some interesting use cases for torrents beyond what people already know they can do?

One of the most exciting uses for WebTorrent is peer-assisted delivery. Non-profit projects like Wikipedia and the Internet Archive could reduce bandwidth and hosting costs by letting visitors chip in. Popular content can be served browser-to-browser, quickly and cheaply. Rarely-accessed content can be served reliably over HTTP from the origin server.

The Internet Archive actually already updated their torrent files so they work great with WebTorrent. So if you want to embed Internet Archive content on your site, you can do it in a way that reduces hosting costs for the Archive, allowing them to devote more money to actually archiving the web!

There are also exciting business use cases, from CDNs to app delivery over P2P.

What are some of your favorite projects that use WebTorrent?

gaia app screenshot

The coolest thing built with WebTorrent, hands down, is probably Gaia 3D Star Map. It's a slick 3D interactive simulation of the Milky Way. The data loads from a torrent, right in your browser. It's awe-inspiring to fly through our star system and realize just how little we humans are compared to the vastness of our universe.

You can read about how this was made in Torrenting The Galaxy, a blog post where the author, Charlie Hoey, explains how he built the star map with WebGL and WebTorrent.

brave logo

We're also huge fans of Brave. Brave is a browser that automatically blocks ads and trackers to make the web faster and safer. Brave recently added torrent support, so you can view traditional torrents without using a separate app. That feature is powered by WebTorrent.

So, just like how most browsers can render PDF files, Brave can render magnet links and torrent files. They're just another type of content that the browser natively supports.

One of the co-founders of Brave is actually Brendan Eich, the creator of JavaScript, the language we wrote WebTorrent in, so we think it's pretty cool that Brave chose to integrate WebTorrent.

Why did you choose to build WebTorrent Desktop on Electron?

WebTorrent Desktop main window

Hay un meme que las aplicaciones Electron están "infladas" porque incluyen todo el módulo de contenido de Chrome en todas las aplicaciones. En algunos casos, esto es parcialmente cierto (un instalador de aplicaciones Electron suele ser ~40MB, donde un instalador de aplicaciones específicas del sistema operativo suele ser ~20MB).

However, in the case of WebTorrent Desktop, we use nearly every Electron feature, and many dozens of Chrome features in the course of normal operation. If we wanted to implement these features from scratch for each platform, it would have taken months or years longer to build our app, or we would have only been able to release for a single platform.

Just to get an idea, we use Electron's dock integration (to show download progress), menu bar integration (to run in the background), protocol handler registration (to open magnet links), power save blocker (to prevent sleep during video playback), and automatic updater. As for Chrome features, we use plenty: the <video> tag (to play many different video formats), the <track> tag (for closed captions support), drag-and-drop support, and WebRTC (which is non-trivial to use in a native app).

Not to mention: our torrent engine is written in JavaScript and assumes the existence of lots of Node APIs, but especially require('net') and require('dgram') for TCP and UDP socket support.

Basically, Electron is just what we needed and had the exact set of features we needed to ship a solid, polished app in record time.

¿Qué es lo que más le gusta de Electron?

The WebTorrent library has been in development as an open source side project for two years. We made WebTorrent Desktop in four weeks. Electron is the primary reason that we were able to build and ship our app so quickly.

Just as Node.js made server programming accessible to a generation of jQuery-using front-end programmers, Electron makes native app development accessible to anyone familiar with Web or Node.js development. Electron is extremely empowering.

Do the website and the Desktop client share code?

Yes, the webtorrent npm package works in Node.js, in the browser, and in Electron. The exact same code can run in all environments – this is the beauty of JavaScript. It's today's universal runtime. Java Applets promised "Write Once, Run Anywhere" apps, but that vision never really materialized for a number of reasons. Electron, more than any other platform, actually gets pretty darn close to that ideal.

What are some challenges you've faced while building WebTorrent?

In early versions of the app, we struggled to make the UI performant. We put the torrent engine in the same renderer process that draws the main app window which, predictably, led to slowness anytime there was intense CPU activity from the torrent engine (like verifying the torrent pieces received from peers).

We fixed this by moving the torrent engine to a second, invisible renderer process that we communicate with over IPC. This way, if that process briefly uses a lot of CPU, the UI thread will be unaffected. Buttery-smooth scrolling and animations are so satisfying.

Note: we had to put the torrent engine in a renderer process, instead of a "main" process, because we need access to WebRTC (which is only available in the renderer.)

¿En qué áreas debe mejorarse Electron?

One thing we'd love to see is better documentation about how to build and ship production-ready apps, especially around tricky subjects like code signing and auto-updating. We had to learn about best practices by digging into source code and asking around on Twitter!

Is WebTorrent Desktop done? If not, what's coming next?

We think the current version of WebTorrent Desktop is excellent, but there's always room for improvement. We're currently working on improving polish, performance, subtitle support, and video codec support.

If you're interested in getting involved in the project, check out our GitHub page!

Any Electron development tips that might be useful to other developers?

Feross, one of the WebTorrent Desktop contributors, recently gave a talk "Real world Electron: Building Cross-platform desktop apps with JavaScript" at NodeConf Argentina that contains useful tips for releasing a polished Electron app. La charla es especialmente útil si estás en el escenario donde tienes una aplicación básica de trabajo y estás intentando llevarla al siguiente nivel de pulido y profesionalismo.

Watch here:

Slides here:

DC, another WebTorrent contributor, wrote a checklist of things you can do to make your app feel polished and native. It comes with code examples and covers things like macOS dock integration, drag-and-drop, desktop notifications, and making sure your app loads quickly.

Project of the Week: Voltra

· 6 lectura mínima

This week we met with Aprile Elcich and Paolo Fragomeni to talk about Voltra, an Electron-powered music player.


What is Voltra?

Voltra is a music player for people who want to own their music. It’s also a store where you can discover and buy new music based on what you already own. It’s ad-free, cross-platform for desktop and mobile. It also doesn’t spy on you.

voltra-artistview

Who is Voltra for?

Anyone who listens to music.

What motivated you to create Voltra?

Radio has has always had a big share of listeners. It’s moving off the airwaves and onto the Internet. Now you can rent music on demand — it’s a radio revival! A lot of new products and services have emerged because of this, but streaming radio still leaves someone else in control of your music and how you experience it.

We wanted a product that was entirely focused on music you own. Something that made it easy to discover and buy new music directly from artists or labels.

Is there a free version?

The desktop player is completely free. Selling your music is also free! We are not ad-supported.

Since the app is free, we may open source it later on. Right now we don’t have the bandwidth to manage that. We also have very specific ideas for features and the direction we want to take things. We have an active beta community and we take our feedback to heart.

How do you make money?

We have premium features!

Our Voltra Audio Archive is a cloud-backup service designed specifically for music. We don’t compress or share data blocks. Your music collection is physically backed up for you.

For artists and labels, our Pro Membership offers tools to help them reach more relevant audiences, such as analytics and professional artist webpages.

What makes Voltra different?

Design and usability are incredibly important to us. We want to give listeners a distraction-free listening experience! There are a some interesting music players and stores out there. But many of them are more advanced and harder to use than their creators realize. We want to make Voltra accessible to as many people as possible.

We also don't take a cut from the artist or the label. That’s a key differentiator for us. It’s really important because it lowers the barrier for artists to get their music to market.

What are some design & technical decisions you made?

While designing Voltra, we considered UI conventions from native apps and the web, we also thought a lot about what we could remove. We have an active private beta group who have given us critical feedback over the last few months.

We found that album art and photography are really important to people. Many players are just lists of files. One of the cool things about owning physical albums is the album art, and we wanted to put emphasis on this in the Voltra desktop app.

voltra-albumview

We also made sure not to mess with people's files. We use file watching so you can put your files wherever you want, and we don't rename them or move them for you. We have an embedded database to track the state of the watched directories so that we can track what's new, even when the process isn't running.

What are some challenges you've faced while building Voltra?

We spend a lot of time focused on performance. We started with frameworks but moved to vanilla Javascript. In our experience, the generalized abstractions they provide outweigh the performance penalties and ceremony that they introduce.

We handle very large collections pretty well at this point. Large collections means possibly tens of thousands of images! Having Node.js’ file system module directly available from the render process made it really easy to lazy load and unload lots of images super quickly based on DOM events.

En general, setImmediate y requestIdleCallback han sido herramientas super importantes para realizar un montón de procesamiento manteniendo la interfaz receptiva. More specifically, distributing CPU-bound tasks into separate processes really helps to keep the user interface responsive. Más específicamente, la distribución de las tareas vinculadas a la CPU en procesos separados realmente ayuda a mantener la interfaz de usuario receptiva.

Why did you choose to build Voltra on Electron?

El sandbox del navegador está demasiado restringido para nuestra aplicación. Pero también estamos desarrollando un reproductor web. So it’s a huge win that we can share almost 100% of the code between the two implementations.

We actually started by building a native app with Swift. The main problem we found was that we were reinventing a lot of things. The web has the world’s largest open source eco-system. So we pretty quickly switched to Electron.

Also, and most importantly, with Electron you develop once and it should Just Work™ on all the major platforms. It’s not guaranteed, but the cost of coding natively for each platform definitely outweighs any other costs that electron introduces.

¿Qué es lo que más le gusta de Electron?

GTD!: Having Node.js’ networking stack and Chromium’s presentation layer packaged together is a recipe for getting things done.

Competency: It’s just the web stack, so literally our whole team is involved in actually building the product.

Community: There is a highly organized community that knows how to communicate really well! We feel pretty great about developing with support like that.

In what areas could Electron be improved?

We would like to see Electron endorse a single packager. The packager is as important to Electron what the package manager is to Node. There are multiple packagers in user-land, each with interesting features but each with bugs. Consensus by the community would help to direct the energy being spent by contributors.

What's coming next?

We‘re currently developing a mobile app, and working with artists and labels to add their music to the Voltra shop. Hey! If you’re an artist or label, sign up now! We plan on opening up the shop when we reach our goal of 10 million tracks.

Proyecto de la semana: WordPress para ordenador

· 4 lectura mínima

Esta semana nos hemos puesto al día con gente en Automático a hablar sobre WordPress Desktop, un cliente de escritorio de código abierto para gestionar el contenido de WordPress.


Todos saben sobre WordPress, ¿pero qué hay sobre WordPress para ordenador?

La aplicación para ordenador de WordPress.com brinda una buena experiencia multiplataforma que le permite enfocarse en el contenido y el diseño sin pestañas del navegador como distracciones — o para tener tus sitios al margen pero accesibles. En combinación con nuestro soporte para navegador y la aplicación móvil, puede construir su sitio web en cualquier lugar, de cualquier manera que le permita realizar su trabajo.

¿Por qué construir una aplicación de ordenador para administrar sitios de WordPress? ¿No se puede basar todo en la web?

Realmente, está utilizando la misma tecnología que obtienes al visitar WordPress.com en el navegador. Sin embargo, todo se encuentra almacenado localmente, por lo que tiene unos tiempos de carga mínimos. Con el beneficio de características nativas como acceder al docs, las notificaciones, etc., realmente puede enfocarte en tus blogs y sitios de WordPress.

¿Por qué eligieron construir WordPress para ordenador en Electron?

A finales de 2015 reconstruimos gran parte de WordPress.com en la forma de Calypso, una moderna aplicación JavaScript de código abierto utilizando React. Comenzamos echando un ojo a Electron y con algunos cambios realizados a Calypso, fuimos capaces de lograr que se ejecute localmente. Fue una experiencia convincente y pensamos que tenía mucho valor desarrollarla aún más.

Varios equipos estaban trabajando en Calypso. Para hacer un completo cliente multiplataforma que concuerde con esto utilizando tecnologías tradicionales de escritorio hubiese requerido más trabajo. By using Electron, a small team of 2-4 of us were able to leverage the other team’s efforts and build the Desktop app in a couple of months.

What are some challenges you've faced while building WordPress Desktop?

We got an initial version of the app running very quickly, but tuning it to behave optimally as a desktop app took a lot more time. One big challenge with the app is that you're actually running a copy of Calypso on your own machine - it’s purely an API driven UI. There was a lot of bridging work involved in this, and changes were fed back to Calypso itself.

Additionally a lot of effort was spent packaging the app for different platforms - we provide Windows, macOS, and Linux versions - and there are sufficient differences to make this tricky.

At the time Electron was relatively new and we kept running into issues that were shortly fixed (sometimes the same day!)

¿En qué áreas debe mejorarse Electron?

Electron already provides most of what we need for the Desktop app, and it's progressed rapidly since we started using it. That said, there are some areas that are taken for granted in a desktop app, such as spell checking and find/replace, that are harder to replicate with Electron as-is.

We’d also love to see some of the newer Chrome technologies filtering down into Electron too. We’re particularly keen on experimenting with WebVR.

¿Qué es lo que más le gusta de Electron?

The main reason we chose Electron, and it's biggest strength, is the very active and open community. Automattic has always believed in open source. It is one of our core tenets, and the Electron project and community follows a lot of the core beliefs of being very open and positive.

What's coming next in WordPress Desktop?

The great thing about our model is that the Desktop app benefits from any new Calypso feature - there are constant improvements. We’re hoping we can add additional features to the app such as offline support, which would really take the app into native territory, and better system notifications.

Are there any teams at Automattic working on other Electron apps?

Yes, after our efforts on the Desktop app, the Simplenote team decided to use Electron to build desktop apps for Windows and Linux (a native Mac client already exists). The Simplenote Electron app is also open source and available on Github.

We've also got an upcoming Raspberry Pi integration that uses Electron.

If any of that sounds interesting then we'd love to hear from you!

¿Algún consejo sobre Electron que pueda ser útil para otros desarrolladores?

The process of shipping signed desktop software is relatively new to us, especially for Windows. we wrote up an article for Code Signing a Windows App which includes the process and a few of the hurdles we went through to do it right.

Proyecto de la semana: Dat

· 7 lectura mínima

El proyecto destacado de esta semana es Dat, una herramienta financiada por donaciones, de código abierto y descentralizada para distribuir conjuntos de datos. Dat está construido y mantenido por un equipo geodistribuido, muchos de los cuales ayudaron a escribir este mensaje.


Una captura de pantalla de la vista principal del Dat-Desktop, mostrando unas pocas filas de dats compartidas

En primer lugar, ¿qué es Dat?

Queríamos unir las mejores partes de los sistemas distribuidos y de igual a igual al intercambio de datos. Comenzamos con el intercambio de datos científicos y luego comenzamos a sumergirnos en las instituciones de investigación, el gobierno, el servicio público y los equipos de código abierto.

Otra manera de pensar en ello es sincronizar y subir aplicaciones como Dropbox o BitTorrent Sync, con la diferencia de que Dat es de código abierto. Nuestro objetivo es ser un potente software de código abierto, sin ánimo de lucro para compartir datos grandes, pequeños, medianos, para lotes de datos grandes y pequeños.

Para usar la herramienta CLI de dat, todo lo que tienes que escribir es:

dat share ruta/a/mi/carpeta

Y Dat creará un enlace que puede usar para enviar esa carpeta a otra persona -- ningún servidor central o terceros tienen acceso a sus datos. A diferencia de BitTorrent, también es imposible esnifar quién está compartiendo qué (ver el borrador de Dat Paper para más detalles).

Ahora que sabemos que es Dat. ¿Cómo encaja Dat Desktop?

Dat Desktop es una forma de hacer que Dat sea accesible para personas que no puedan o no quieran usar la línea de comandos. Puede alojar múltiples dats en su máquina y servir los datos a través de su red.

¿Puedes compartir algunos casos de uso?

DataRefuge + Proyecto Svalbard

Estamos trabajando en un código llamado Proyecto Svalbard que está relacionado con DataRefuge, un grupo que trabaja para respaldar los datos climáticos gubernamentales en riesgo de desaparecer. Svalbard lleva el nombre de la cámara de semillas globales de Svalbard en el Ártico, que cuenta con una gran biblioteca de respaldo subterráneo de ADN vegetal. Nuestra versión es una gran versión controlada de conjuntos de datos científicos públicos. Una vez que conocemos y podemos confiar en los metadatos, podemos construir otros proyectos geniales, como una red de almacenamiento de datos distribuida voluntaria.

Coalición de datos cívicos de California

CACivicData es un archivo de código abierto que ofrece descargas diarias desde CAL-ACCESS, la base de datos de California rastreando dinero en política. Hacen lanzamientos diarios, lo que significa alojar un montón de datos duplicados a través de sus archivos zip. Estamos trabajando en alojar sus datos como un repositorio de Dat que reducirá la cantidad de problemas y ancho de banda necesarios para referirse a una versión específica o actualizar a una versión más reciente.

Actualizaciones de Electron

Esto aún no se ha concretado, pero creemos que un caso de uso sería poner una aplicación compilada de Electron en un repositorio Dat, luego usar un cliente de Dat en Electron para extraer las últimas deltas de la aplicación compilada binaria, para ahorrar tiempo de descarga, pero también para reducir los costes de ancho de banda para el servidor.

¿Quién debería usar Dat Desktop?

Cualquiera que quiera compartir y actualizar datos a través de una red p2p. Científicos de datos, hackers de datos abiertos, investigadores, desarrolladores. Somos super receptivos a la retroalimentación por si alguien tiene un buen caso de uso en el que todavía no hemos pensado. ¡Puedes pasarte por nuestro Chat Gitter y preguntarnos cualquier cosa!

¿Qué será lo siguiernte en Dat y Dat Desktop?

Cuentas de usuario y publicación de metadatos. Estamos trabajando en una aplicación web de registro de Dat para ser desplegada en datproject.org que será básicamente un 'NPM para conjuntos de datos',salvo que vamos a ser un directorio de metadatos y los datos pueden vivir en cualquier lugar en línea (a diferencia de NPM o GitHub, donde todos los datos están centralmente alojados, porque el código fuente es lo suficientemente pequeño, por lo que puede caber todo en un solo sistema). Dado que muchos conjuntos de datos son enormes, necesitamos un registro federado (similar a cómo funcionan los rastreadores BitTorrent). Queremos facilitar a la gente encontrar o publicar conjuntos de datos con el registro de Dat Desktop, para que el proceso de intercambio de datos no tenga obstáculos.

Otra característica son las carpetas multiescritores/colaborativas. Tenemos grandes planes para hacer flujos de trabajo colaborativos, tal vez con sucursales, similares a git, pero diseñados en torno a la colaboración con los conjuntos de datos. ¡Todavía estamos trabajando en la estabilidad general y estandarizar nuestros protocolos!

¿Por qué eligió construir Dat Desktop en Electron?

Dat está construido utilizando Node.js, por lo que fue un ajuste natural para nuestra integración. Más allá de esto, nuestros usuarios utilizan una variedad de máquinas como científicos, investigadores y funcionarios del gobierno pueden verse obligados a usar ciertas configuraciones para sus instituciones -- esto significa que necesitamos ser capaces de funcionar en Windows, Linux y Mac. Dat Desktop hace que sea muy fácil.

¿Cuáles son algunos de los desafíos a los que se enfrenta mientras construye Dat y Dat Desktop?

Averiguar lo que la gente quiere. Empezamos con conjuntos de datos tabulares, pero nos dimos cuenta de que era un poco complicado y que la mayoría de la gente no usa bases de datos. Así que a mitad de camino del proyecto, rediseñamos todo desde cero para usar un sistema de archivos y no volvimos la vista atrás.

También nos encontramos con algunos problemas generales de infraestructura en Electron incluyendo:

  • Telemetría - cómo capturar estadísticas de uso anónimas
  • Actualizaciones - Es un poco fragmentario y mágico configurar actualizaciones automáticas
  • Lanzamientos - la firma de XCode, lanzamientos de construcción en Travis, haciendo versiones beta, todas eran desafíos.

También usamos Browserify y algunas Transformaciones Browserify en el código 'front end' en Dat Desktop (que es algo extraño porque todavía empaquetamos aunque tengamos require nativo -- pero es porque queremos las transformaciones). Para ayudar a gestionar mejor nuestro CSS cambiamos de Sass a usar sheetify. Nos ha ayudado mucho a modularizar nuestro CSS y nos ha hecho más fácil mover nuestra interfaz de usuario a una arquitectura orientada a componentes con dependencias compartidas. Por ejemplo, dat-colors contiene todos nuestros colores y se comparte entre todos nuestros proyectos.

Siempre hemos sido un gran fan de los estándares y las abstracciones mínimas. Toda nuestra interfaz se construye utilizando nodos DOM regulares con unas cuantas bibliotecas auxiliares. Hemos empezado a mover algunos de estos componentes a base-elements, una biblioteca de componentes reutilizables de bajo nivel. Como en la mayoría de nuestra tecnología seguimos repitiendo sobre ella hasta que la hacemos bien pero como equipo tenemos la sensación de que vamos en la dirección correcta.

¿En qué áreas debe mejorarse Electron?

Creemos que el punto más doloroso son los módulos nativos. Tener que reconstruir sus módulos para Electron con npm añade complejidad al flujo de trabajo. Nuestro equipo desarrolló un módulo llamado prebuild que maneja binarios preconstruidos, que funcionó bien para Node, pero los flujos de trabajo de Electron todavía necesitaban un retoque después de la instalación npm run rebuild. Fue molesto. Para abordar este tema hemos cambiado recientemente a una estrategia donde empaquetamos todas las versiones binarias compiladas de todas las plataformas dentro del tarball de npm. Esto significa que los tarballs se hacen más grandes (aunque esto puede optimizarse con archivos.so - librerías compartidas), esto evita tener que ejecutar scripts post-instalación y también evita el patrón npm run rebuild por completo. Significa que npm install hace lo correcto para Electron a la primera.

¿Qué es lo que más le gusta de Electron?

Las APIs parecen bastante bien pensadas, es relativamente estable y hace un buen trabajo en mantenerse al día con las versiones originales de Node. ¡No podemos pedir mucho más!

¿Algún consejo sobre Electron que pueda ser útil para otros desarrolladores?

¡Si usas módulos nativos, dale a prebuild una oportunidad!

¿Cuál es la mejor manera de seguir los avances de Dat?

Sigue @dat_project en Twitter, o suscríbete a nuestro boletín de correo electrónico.

Project of the Week: Ghost

· 5 lectura mínima

This week we chatted with Felix Rieseberg, desktop engineer at Slack and maintainer of Ghost Desktop, an Electron client for the Ghost publishing platform.


Ghost Desktop Screenshot

What is Ghost?

Ghost is a fully open source, hackable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News.

What makes it different from other publishing platforms?

Ghost was founded in April 2013, after a very successful Kickstarter campaign to create a new platform focused solely on professional publishing. Our mission is to create the best open source tools for independent journalists and writers across the world, and have a real impact on the future of online media. Ofrece una experiencia más simple y enfocada, ya que nuestro editor está diseñado exclusivamente para ofrecer la mejor herramienta de escritura posible.

Compared to the all-time classic WordPress, it offers a simpler, more streamlined experience - it is easier to setup and maintain, comes with all important features out-of-the-box, and is dramatically faster. Compared to other online platforms, Ghost gives writers full ownership and control over their content, allows full customization, and enables authors to build a business around their publication.

Is Ghost a for-profit company?

This one is important to us: Ghost is an independent non-profit organisation. We build publishing tools for modern journalism & blogging because we believe freedom of speech is important. Our software is released under a free open source license, our business model is completely transparent, and our legal structure means that 100% of the money we make is reinvested into making Ghost better.

What is Ghost Desktop?

Ghost Desktop allows writers to manage multiple blogs at once - and to focus on their writing. Las cosas simples como los accesos directos de escritura comunes no se pueden realizar en un navegador, pero están disponibles en nuestra aplicación de escritorio. Permite a otras aplicaciones comunicarse directamente con el blog a través de enlaces profundos.

What is Ghost for Journalism?

This year we're very excited to be dedicating our entire 10 person full-time Ghost team to helping grow three independent publications, along with $45,000 in resources toward their efforts. We're calling it Ghost for Journalism.

We've been building Ghost as the web's next great platform for independent publishers for about three and half years now, and we've now reached a really interesting inflection point. We started this journey to create a simple, well designed blogging platform which could be used by just about anyone. That was always going to be step one.

Long term, we want Ghost to be an incredible platform for the world's best journalism, and that means we need to build features to attract exactly those people. This year we're making a very conscious decision to focus on just that.

Why did you choose to build Ghost Desktop on Electron?

Ghost uses JavaScript and Node.js on both the backend and frontend, so being able to utilize the same technology and skillset enables our team to move faster, build more, and ultimately deliver a better experience. In addition, being able to share more than 95% of code between the macOS, Windows, and Linux version of the app allows us to focus on building a great core user experience, without having to maintain one code base for each platform.

What are some challenges you've faced while building Ghost Desktop?

Spellchecking is likely still one of the most difficult services offered - we could easily utilize one of the many online services, but correctly spellchecking text in multiple languages while guarding the privacy and autonomy of our users is not an easy task.

¿En qué áreas debe mejorarse Electron?

We would love to see Electron bring the operating system's native spellchecking capabilities to their apps. We're dreaming about a world in which an <input> field receives the same services as a NSTextView, but we are also intimately aware how difficult that is.

¿Qué es lo que más le gusta de Electron?

JavaScript is famous for being a vast ecosystem, involving countless tools and frameworks - but the convenience it affords us is hard to overstate. Building an app with Electron is only slightly harder than building a web app, which is an amazing feat.

Is Ghost done? If not, what's coming next?

Ghost Desktop is also an ongoing project - we're pretty far from being done. We have been talking for a while about bringing a full offline mode to our users, and we're getting fairly close. Other notable work areas are the extension and integration with other text editing apps (like Word or Atom), ultimately allowing people to write posts using their favorite tools. In general, once we've shipped the offline mode feature, we're looking for deeper integration with the operating system. If that sounds interesting to you, join us!

What are some of your favorite Electron apps?

I'm a big fan of Kap, Felony, and Visual Studio Code.

👻

Proyecto de la Semana: Navegador Beaker

· 4 lectura mínima

Esta semana hemos centrado nuestra atención en Paul Frazee, creador de Beaker Browser. Beaker es un navegador web de igual a igual (peer-to-peer) experimental que utiliza el protocolo Dat para alojar sitios desde los dispositivos de los usuarios.


¿Qué es Beaker y por qué lo creaste?

Beaker es un navegador participativo. Es un navegador para hackers independientes.

La web es de código cerrado. Si quieres influir en cómo funcionan las redes sociales, tienes que trabajar en Facebook o Twitter. Para búsqueda, Google. El control está en manos de las empresas, y no de los propios usuarios.

Con Beaker, tenemos un nuevo protocolo Web: el Transporte de archivos descentralizados (Decentralized Archive Transport). "Dato". Crea sitios bajo demanda, de forma gratuita, y luego los comparte desde el dispositivo. No se requieren servidores. Esa es nuestra innovación.

Protocols de Beakers

Cuando visitas un sitio de Dat en Beaker, descargas los archivos. El sitio es tuyo, para siempre. Puedes guardarlo, bifurcarlo, modificarlo y compartir gratis tu nueva versión. Todo es de código abierto.

De eso se trata: Estamos creando un navegador para sitios web de código abierto. Queremos que sea un conjunto de herramientas para el hacking social.

¿Quién debería usar Beaker?

Hackers. Modders. Tipos creativos. A la gente a la que le gusta jugar.

¿Cómo puedo crear un nuevo proyecto que utilice Dat?

Tenemos una herramienta de línea de comandos llamada bkr que es como git + npm. Creando el sitio:

$ bifurcación bkr dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "Mi bifurcación no tiene en cuenta el índice anterior. tml!" > index.html
$ bkr publicar

Haciendo fork del sitio:

$ bkr fork dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "Mi bifurcación no tiene en cuenta el anterior index.html!" tml!" > index.html
$ bkr publicar

Estos sitios son alojados fuera de su navegador. Es un poco como BitTorrent; usted comparte los sitios en una malla P2P.

Si quieres una interfaz de usuario tenemos algunas herramientas básicas incorporadas en el navegador pero estamos trabajando para incorporarlas en userland. Todo va a ser aplicaciones de usuario modulables.

¿Por qué elegiste construir Beaker en Electron?

Era evidente para este proyecto. Si yo mismo bifurcara Chrome, ¡estaría escribiendo C++ ahora mismo! Nadie quiere hacerlo. Conozco la pila web, y puedo trabajar rápidamente con ella. Es obvio.

La verdad es que no estoy seguro de que hubiera podido hacer nada de esto sin Electron. Es una gran software.

¿Cuáles son algunos de los desafíos a los que se enfrenta mientras construye Beaker?

La mitad es hurgar en las herramientas y averiguar cuánto puedo conseguir.

Hacer el navegador en sí mismo fue bastante fácil. Electron es prácticamente un conjunto de herramientas para hacer navegadores. ...Excepto por las pestañas del navegador; eso me llevó bastante hacerlo bien. Finalmente me derrumbé y aprendí a hacer SVG. Se ve mucho mejor, pero me costó 3 o 4 veces antes de hacerlo bien.

¿En qué áreas debe mejorarse Electron?

Sería realmente genial si pudiera acoplar las herramientas de desarrollo dentro de una vista web.

¿Qué es lo siguiente en Beaker?

Nombres DNS seguros para sitios Dat. Un esquema de URL socialmente configurable, llamado el "esquema de aplicación". Más API Dat.

¿Para la gente que puede estar interesada en contribuir al proyecto, en qué áreas necesita ayuda Beaker?

Tenemos muchas cuestiones abiertas. No tengas miedo de hacerme un ping. #beakerbrowser en freenode. Mantenemos una página para los colaboradores y te agregaremos a ella. Y si visitas Austin, te invitaré a una cerveza.

¿Algún consejo sobre Electron que pueda ser útil para otros desarrolladores?

  1. Utilice las herramientas de compilación disponibles. No quieres luchar con tus propias soluciones, créeme. Usar electron-builder. Utilice un repositorio repetitivo.
  2. Si necesita abrir un problema en el repositorio de Electron, haga un esfuerzo adicional para que sea fácil de reproducir. Recibirás una respuesta mucho más rápida, y el equipo lo apreciará. Aún mejor, intente arreglarlo usted mismo. En realidad, es bastante interesante ver las entrañas.
  3. Lee todas las guías y documentos avanzados al menos una vez.
  4. No construya un navegador, es un mercado saturado.

Proyecto de la semana: Kap

· 7 lectura mínima

The Electron community is growing quickly, and people are creating powerful new apps and tools at an astounding rate. To celebrate this creative momentum and keep the community informed of some of these new projects, we've decided to start a weekly blog series featuring noteworthy Electron-related projects.


This post is the first in the series, and features Kap, an open-source screen recording app built by Wulkano, a geodistributed team of freelance designers and developers.

Kap Screencast

What is Kap?

Kap is an open-source screen recorder built primarily for designers and developers to easily capture their work. People use it to share animated prototypes, document bugs, create silly GIFs and everything in-between.

Hemos visto a gente de todas las edades y fondos usarlo en entornos educativos, screencasts, tutoriales... la lista continúa. Even to create production assets! We're completely blown away by how well received our little side project has been.

Why did you build it?

That's a very good question, it's not like there's a lack of screen recorders out there! We felt the alternatives were either too complex, too expensive or too limited. Nothing felt just right for our everyday needs. We also think it's great when the tools we use to do our work are open-source, that way everyone can help shape them. Building Kap ended up being just as much about what we didn't do. It's all in the details, an accumulation of small improvements that became the outline of a tool we wanted to use.

However, and maybe most importantly, Kap has become a place for us to leave our worries at the door and just have fun building something for ourselves and people like us. It's so important to create an environment where you get to just vent, try new thins and enjoy your craft. No requirements, no pressure, no expectations. Should designers and developers side project? Why, yes. Yes, they should.

Why did you choose to build Kap on Electron?

There were a number of reasons:

  • Web tech
  • Most of the team are web developers
  • We're invested in JavaScript
  • It opens the door for more people to contribute
  • Electron itself is open-source
  • The power and easily maintainable modularity of node_modules
  • Cross-platform possibilities

We think the future of apps are in the browser, but we're not quite there yet. Electron is an important step in the journey towards that future. It not only makes the apps themselves more accessible, but also the code they're built with. An interesting thought is imagining a future where the OS is a browser, and the tabs are essentially Electron apps.

Additionally, being primarily web developers, we're big fans of the isomorphic nature of JavaScript, in that you can run JS on the client, server, and now the desktop. With web tech (HTML, CSS and JS), many things are much simpler than native: Faster prototyping, less code, flexbox > auto-layout (macOS/iOS).

What are some challenges you've faced while building Kap?

Using the resources Electron has available to record the screen was the biggest challenge. They simply weren't performant enough to meet our requirements and would render the project a failure in our eyes. Though at no fault of Electron itself, there's still a gap between native development and building desktop apps with web tech.

We spent a lot of time trying to work around the poor performance of the getUserMedia API, an issue originating in Chromium. One of our main goals when we set out to make Kap was to build the entire app with web tech. After trying everything we could to get it working (the minimum requirement being 30 FPS on a Retina screen), we eventually had to find another solution.

I see some Swift code in the repo. What's that about?

Being forced to look for alternatives to getUserMedia, we started experimenting with ffmpeg. Besides being one of the best tools for audio and video conversion it has the functionality of recording the screen in almost any OS, and we were able to record crispy video meeting our minimum requirement of 30 FPS on a Retina screen. Problema? The performance was "😩", the CPU usage was going haywire. So we went back to the drawing board, discussed our options and realised that we had to make a compromise. That resulted in Aperture, our own screen recording library for macOS written in Swift.

¿En qué áreas debe mejorarse Electron?

We all know that Electron apps can have a thing for using RAM, but again, that's really a Chromium thing. It's part of how it works and it really depends on what you're running, for example Kap and Hyper typically use less than 100MB of memory.

One of the biggest areas of improvement that we see is payload, particularly how Electron distributes Chromium. One idea would be to have a shared Electron core and make app installers check if it's already present on the system.

Creating cross-platform Electron apps could be a better experience. Right now there are too many inconsistencies, platform-specific APIs, and missing features between platforms, making your codebase littered with if-else statements. For example, vibrancy is only supported on macOS, the auto-updater works differently on macOS and Windows, and is not even supported on Linux. Transparency is a hit or miss on Linux, usually miss.

It should also be easier to call native system APIs. Electron comes with a very good set of APIs, but sometimes you need functionality it doesn't provide. Creating a native Node.js addon is an option, but it's painful to work with. Ideally Electron would ship with a good FFI API, like fastcall. This would have enabled us to write the Swift part in JavaScript instead.

¿Qué es lo que más le gusta de Electron?

Our favorite thing is easily the fact that anyone with knowledge of creating for the web can build and contribute to multi-platform native experiences. Not to mention the ease and joy of developing on it, the excellent documentation and the thriving ecosystem.

From a front-end perspective, building Kap felt no different than building a simple website using browser APIs. Electron does a really great job of making app development similar (basically identical) to web development. So simple in fact that there was no need for frameworks or similar to help us, just clean and modular JS and CSS.

We are also huge fans of the team building it, their dedication and support, and the active and friendly community they maintain. Hugs to all of you!

What's coming next in Kap?

The next step for us is to review the app in preparation for our 2.0.0 milestone, which includes a React re-write in addition to support for plugins, allowing developers to extend the functionality of Kap! We invite everyone to follow to project and contribute on our GitHub repository. We're listening and want to hear from as many of you as possible, let us know how we can make Kap the best possible tool it can be for you!

What is Wulkano?

Wulkano is a design studio and digital collective, a team of remote technologists who love working together on both client gigs and our own projects. We're a distributed but tight knit group of people from different places and backgrounds, sharing knowledge, ideas, experiences, but most importantly silly GIFs and memes, in our virtual office (which happens to be the Electron based Slack!).

¿Algún consejo sobre Electron que pueda ser útil para otros desarrolladores?

Take advantage of and get involved in the fantastic community, check out Awesome Electron, look at examples and make use of the great docs!

Agosto 2016: Nuevas Apps

· 3 lectura mínima

Aquí están las nuevas aplicaciones de Electron que fueron añadidas al sitio en agosto.


El sitio se actualiza con nuevas aplicaciones y reuniones a través de pull requests de la comunidad. Puede ver el repositorio para recibir notificaciones de cosas nuevas o si no está interesado en todos los cambios del sitio suscríbete al feed RSS del blog.

Si has hecho una aplicación Electron u organizar una reunión, haz un pull request para añadirlo al sitio y hará el siguiente resumen.

Nuevas aplicaciones

Código RPGifyAplicación de codificación de estilo RPG
PamFaxUna aplicación multiplataforma para enviar y recibir faxes
BlankUpEditor Markdown con claridad +1
RamboxAplicación libre y de código abierto, que combina las aplicaciones web más comunes de mensajería y correo electrónico
GordieLa mejor aplicación para tus colecciones de tarjetas
Ionic CreatorConstruye increíbles aplicaciones móviles, más rápido
TwitchAlertsMantén a tus espectadores contentos con hermosas alertas y notificaciones
MuseeksUn reproductor de música simple, limpio y multiplataforma
SeaPigUn convertidor de markdown a html
GrupMeAplicación no oficial de GroupMe
MoeditorTu editor de markdown para todos los fines
SoundnodeSoundnode App es la nube de Soundcloud para escritorio
QMUI WebQMUI Web Desktop es una aplicación para administrar proyectos basados en QMUI Web Framework
SvgsusOrganiza, limpia y transforma tus SVGs
RammeApp de escritorio de Instagrama no oficial
InsomniaCliente API REST
CorreoUna aplicación Gmail para Windows, macOS y Linux de barra de menús
KongDashCliente de escritorio para API de admin de Kong
Translation EditorEditor de archivos de traducción para mensajes INTL ICU (ver formatjsio)
5EClient5EPlay CSGO Client
Theme JuiceDesarrollo local de WordPress facilitado