martes, 3 de septiembre de 2024
Comparación de Frameworks de Desarrollo Web: Stack Overflow 2023 vs. 2024
Siempre estoy muy atento cuando la encuesta de Stack Overflow es publicada.
A pesar que Stack Overflow se ha visto desplazado por inclusión
de la IA, es una de las encuestas más fiables que tenemos.
Frameworks Más Populares
En ambos años, Node.js y React se mantuvieron como los frameworks más populares, aunque con una ligera disminución en su uso:
- Node.js: pasó del 42.65% en 2023 al 40.8% en 2024.
- React: bajó del 40.58% en 2023 al 39.5% en 2024.
Tendencias a la Alta
Frameworks más recientes como FastAPI y NestJS están ganando terreno rápidamente:
- FastAPI: creció del 7.42% en 2023 al 9.9% en 2024, pasando a Laravel en Ranking
- NestJS: aumentó su adopción de 5.13% en 2023 a 5.8% en 2024.
Los Nuevos del Grupo
El Ecosistema JavaScript: Cada Día Nace un Framework, y Cada Día Muere Uno
El mundo de JavaScript es famoso por su constante innovación, donde cada día parece que nace un nuevo framework y, al mismo tiempo, otro desaparece en la oscuridad. Como se puede ver algunas de las tecnologías que estuvieron presentes en la encuesta de 2023 ya no estan en la lista de 2024, como Lit y Qwik, ambos con menos del 1% de uso en 2023.
Como le fue a mis Framewok Favoritos:
Django: Consistencia en la Comunidad Python
Laravel: Un Framework Siempre en Evolución
Vue.js: Un Ligero Descenso
Ruby on Rails: Persistencia en el Mundo
Su enfoque en la convención sobre la configuración y la productividad continúa atrayendo a quienes buscan desarrollar aplicaciones de manera rápida y eficiente.
Creo que la competencia de otros frameworks modernos podría estar influyendo en esta ligera caída de popularidad.
Conclusión
Ahora bien, si he dicho algo que no te ha sentado bien, ¡discúlpame! 😅 Esto es solo mi humilde opinión, basada en mi experiencia y lo que he observado. Es importante recordar que cada desarrollador tiene sus herramientas y enfoques favoritos, ¡y eso es lo que hace que este campo sea tan diverso y emocionante!
Mantente al tanto de estas tendencias para elegir las mejores herramientas para tus proyectos..
Para revisar la encuentas completa puedes revisar en Stack Overflow Developer Survey 2024.
| Tecnología | 2023 (%) | 2023 Ranking | 2024 (%) | 2024 Ranking | Cambio |
|---|---|---|---|---|---|
| Node.js | 42.65% | 1 | 40.8% | 1 | ▼ |
| React | 40.58% | 2 | 39.5% | 2 | ▼ |
| jQuery | 21.98% | 3 | 21.4% | 3 | ▼ |
| Next.js | 16.67% | 6 | 17.9% | 4 | ▲ |
| Express | 19.28% | 4 | 17.8% | 5 | ▼ |
| Angular | 17.46% | 5 | 17.1% | 6 | ▼ |
| ASP.NET Core | 16.57% | 7 | 16.9% | 7 | ▲ |
| Vue.js | 16.38% | 8 | 15.4% | 8 | ▼ |
| ASP.NET | 12.79% | 10 | 12.9% | 9 | ▲ |
| Flask | 12.16% | 11 | 12.9% | 9 | ▲ |
| Spring Boot | 11.95% | 12 | 12.7% | 11 | ▲ |
| Django | 11.47% | 13 | 12% | 12 | ▲ |
| WordPress | 13.38% | 9 | 11.8% | 13 | ▼ |
| FastAPI | 7.42% | 15 | 9.9% | 14 | ▲ |
| Laravel | 7.58% | 14 | 7.9% | 15 | ▲ |
| AngularJS | 7.21% | 16 | 6.8% | 16 | ▼ |
| Svelte | 6.62% | 17 | 6.5% | 17 | ▼ |
| NestJS | 5.13% | 19 | 5.8% | 18 | ▲ |
| Blazor | 4.88% | 20 | 4.9% | 19 | ▲ |
| Ruby on Rails | 5.49% | 18 | 4.7% | 20 | ▼ |
| Nuxt.js | 3.69% | 21 | 3.6% | 21 | ⬌ |
| Htmx | - | - | 3.3% | 22 | 🆕 |
| Symfony | 3.2% | 22 | 3.2% | 23 | ▼ |
| Astro | - | - | 3% | 24 | 🆕 |
| Fastify | 2.05% | 25 | 2.2% | 25 | ▲ |
| Deno | 2.36% | 23 | 1.9% | 26 | ▼ |
| Phoenix | 2.04% | 26 | 1.9% | 27 | ▼ |
| Drupal | 1.87% | 27 | 1.9% | 27 | ▼ |
| Strapi | - | - | 1.7% | 29 | 🆕 |
| CodeIgniter | 1.72% | 28 | 1.7% | 30 | ▼ |
| Gatsby | 2.33% | 24 | 1.6% | 31 | ▼ |
| Remix | 1.27% | 30 | 1.6% | 31 | ▲ |
| Solid.js | 1.36% | 29 | 1.2% | 33 | ▼ |
| Yii 2 | - | - | 0.9% | 34 | 🆕 |
| Play Framework | 0.76% | 32 | 0.8% | 35 | ▼ |
| Elm | 0.81% | 31 | 0.6% | 36 | ▼ |
sábado, 25 de julio de 2020
Laravel & vue reload / refresh data con timer
laravel new test_tick cd test_tick php artisan serve
Paso 2: Instalar Vue (en otra ventana)
cd test_tick composer require laravel/ui php artisan ui vue
Paso 3 : Instalar moment
npm install npm run watch
Paso 4 : Desarollando el tick
Abrimos el archivo resources/js/components/ExampleComponent.vue
Vamos hacer el metodo llenar se ejecute cada 5 segundos.
<template> <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> <div class="card"> <div class="card-header">Example Component</div> <div class="card-body"> Fecha: {{fecha}} </div> </div> </div> </div> </div> </template> <script> export default { data(){ return { fecha: new Date(), } }, mounted() { console.log('Component mounted.') this.llenar(); },//timer beforeDestroy () { clearInterval(this.intervalid1) }, created() { setInterval(this.llenar, 30000); },//fin timer methods:{ llenar(){ this.fecha= new Date(); console.log (this.fecha); }, } } </script>
Paso 5 : Habilitando VUE en Laravel Para este ejemplo vamos a reemplazar la vista resources/views/welcome.blade.php con el siguiente contenido.
<!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Laravel</title> <!-- Scripts --> <script src="{{ asset('js/app.js') }}" defer></script> </head> <body> <div id="app"> <example-component></example-component> </div> </body> </html>
miércoles, 22 de julio de 2020
Instalar moment en Laravel & vue
Instalando Moment
Paso 1 - Nuevo proyecto / Ejecutar proyect
laravel new test_fechas cd test_fechas php artisan serve
Paso 2: Instalar Vue (en otra ventana)
cd test_fechas composer require laravel/ui php artisan ui vuePaso 3 : Instalar moment
npm install npm install --save vue-moment npm run watch
Paso 3: Configurando moment
En archivo resources/js/app.js arriba de la seccion app agregamos.
/* moment */
import moment from 'moment'
import 'moment/locale/es';
Vue.prototype.moment = moment
Vue.use(require('vue-moment'));
const app = new Vue({
el: '#app',
});
Paso 4: Testing Moment
Abrimos el archivo resources/js/components/ExampleComponent.vue
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Example Component</div>
<div class="card-body">
{{moment(fecha).format('dddd, Do MMMM YYYY, h:mm:ss a')}}
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
},
data(){
return {
fecha: new Date()
}
},
}
</script>
Paso 5: Desplegando el Componente Para este ejemplo vamos a reemplazar la vista resources/views/welcome.blade.php con el siguiente contenido.
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
</head>
<body>
<div id="app">
<example-component></example-component>
</div>
</body>
</html>
