#vue.js todo app
Explore tagged Tumblr posts
Text
Frontend Development Using Vue.js
Vue.js is one of the most popular JavaScript frameworks for building interactive user interfaces and single-page applications. It’s lightweight, flexible, and beginner-friendly — making it an excellent choice for frontend developers of all skill levels.
What is Vue.js?
Vue.js is an open-source JavaScript framework for building UIs. It was created by Evan You and is designed to be incrementally adoptable. That means you can use it to enhance parts of your webpage or build full-featured SPAs (Single Page Applications).
Why Choose Vue.js?
Easy to Learn: Simple syntax and comprehensive documentation.
Component-Based: Encourages reusable and maintainable code.
Lightweight: Fast to load and quick to execute.
Reactive Data Binding: Automatically updates the DOM when data changes.
Great Tooling: Vue CLI, Devtools, and a strong ecosystem.
Getting Started with Vue.js
You can include Vue.js via CDN or use Vue CLI for a full project setup.
Using CDN (Quick Start)
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> <div id="app"> <p>{{ message }}</p> </div> <script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }); </script>
Using Vue CLI (Recommended for Projects)
npm install -g @vue/cli vue create my-vue-app cd my-vue-app npm run serve
Key Vue.js Concepts
Templates: HTML-like syntax with embedded expressions.
Directives: Special attributes like v-if, v-for, v-model.
Components: Reusable, encapsulated UI blocks.
Props & Events: Communication between parent and child components.
Reactivity System: Automatically updates DOM when data changes.
Vue Router: For building SPAs with routing.
Vuex: State management for complex applications.
Example: Creating a Component
Vue.component('todo-item', { props: ['item'], template: '<li>{{ item.text }}</li>' });
Popular Vue.js Libraries & Tools
Vue Router: Adds navigation and routing features.
Vuex: Centralized state management.
Vuetify / BootstrapVue: UI frameworks for Vue.js.
Vite: Lightning-fast development server and build tool for Vue 3.
Best Practices
Break your UI into small, reusable components.
Use Vue CLI or Vite for project scaffolding.
Keep components clean and focused.
Use Vue DevTools for debugging.
Organize files using standard folder structures (components, views, assets, store).
Conclusion
Vue.js is a powerful and approachable framework for frontend development. Whether you're enhancing a small section of your site or building a full-scale web app, Vue offers the tools and flexibility you need. Dive into Vue and take your frontend skills to the next level!
0 notes
Text
Building a Todo app is one of the most common projects for beginners to practice Vue.js. In this tutorial, we will build a simple Todo application where users can add, edit, delete, and mark tasks as completed. We will also integrate Local Storage to persist the todo list across page reloads. Local Storage is a browser feature that allows you to store data on the client side, which will make our app retain its data even if the page is refreshed.
#VueJS#TodoApp#LocalStorage#FrontendDevelopment#JavaScript#WebDevelopment#Vue3#WebAppDevelopment#SPA#ToDoList#VueComponents#VueRouter#JavaScriptLocalStorage#CRUDApp#AppDevelopment#VueJSApp#StateManagement#Vuex#UserInterface#UIUX#FrontendArchitecture#SinglePageApplications#VueJSProjects#WebAppFeatures#VueJSStorage#VueJSDevelopment#Reactivity#PersistentData
0 notes
Text
Build a Dynamic To-Do List with Vue.js and LocalStorage
Step-by-Step Explanation Step 1: Set Up the Project Create a Vue CLI Project: Open your terminal and run the following command to create a new Vue project using Vue CLI. vue create todo-list-app Select Manual Setup and Configure: Choose “Manually select features.” Ensure “Babel,” “CSS Pre-processors,” and “Linter / Formatter” are selected. Choose your preferred CSS pre-processor and linter…
0 notes
Text
Vue.js To do list app
0 notes
Text
How to create a VueJS Todo list - Day 12 - #100DaysOfCode
How to create a VueJS Todo list – Day 12 – #100DaysOfCode
[ad_1] More VueJS! We create a Todo list app in VueJS. I’m loving Vue at the minute and can’t wait to do more with it. We add in all the CRUD features that a basic Todo app needs.
The main language used in this video is JavaScript.
My Rig: MacBook Pro 13” 2015 + Additional 27” Dell monitor My Text Editor: VSCode My Theme: Google Material
Get the repo here… Github: https://github.com/TylerPottsDev/…
View On WordPress
1 note
·
View note
Text
HOV Day2
Today we live coded a ToDo List application today in Vue.js. The learning objectives were as follows
Use multiple components
Render lists using v-for
Pass data to child components via props
$emit custom events to parent components
Use class binding to conditionally add CSS to an HTML element
Define computed properties on a component
You can view the project here https://github.com/molliegoforth818/HOV-day2-todo.
Can’t wait for our lab day tomorrow I have so many questions to ask. Harry Potter trivia app should be done tomorrow, and I’ll post it here!
#junior software developer#software developer#code#coding#learn vue#vue.js#women who code#women in tech#girls in tech#steminist
1 note
·
View note
Photo

How to build A Todo App with Vue.js ☞ http://bit.ly/2mj29LY #vuejs #todoapp #Morioh
#vue#vuejs#vue js#vue tutorial#vue framework#javascript framework#vuejs course#vuejs tutorial#vue course#vue tutorial for beginners#vue course for beginners#web development#codequs#morioh
1 note
·
View note
Photo

How to build A Todo App with Vue.js ☞ http://bit.ly/30UURN4 #vuejs #javascript
1 note
·
View note
Text
Advanced mce remote mapper tool load mc

#Advanced mce remote mapper tool load mc software
#Advanced mce remote mapper tool load mc series
#Advanced mce remote mapper tool load mc free
#Advanced mce remote mapper tool load mc series
Vue.js Screencast Series in Spanish on.
Vue.js VideoTutoral Series in Spanish (3-8-2016) on YouTube by Juan Andrés Núñez.
Hybrid App Example with Laravel and Vue.js in Portuguese by Vue.js Introduction Turkish Language on oguzhan.in.
Vuex introduction video - James Browne from London Vue.js Meetup #1.
Create a GitHub File Explorer Using Vue.js on Scotch.io.
Vuejs 2 Authentication Tutorial on Auth0 blog.
React vs Vue - their communities (My typeof Radio).
Evolution of Vue - Part III (My typeof Radio).
Evolution of Vue - Part II (My typeof Radio).
Evolution of Vue - Part I (My typeof Radio).
What is Pinia? with (My typeof Radio).
Vue podcast list via The QIT Tech Podcast Indexer.
Animating VueJS with Sarah Drasner(Software Engineering Daily 01-12-2017).
Request For Commits #12 - Crowdfunding Open Source (Vue.js) (06-15-2017).
MW S04E08 - Vue.js with Evan You and Sarah Drasner (04-27-2017).
Codecasts #2 - Falando Sobre Vuejs e Web Components ().
#Advanced mce remote mapper tool load mc software
Software Engineering Daily (12-29-2015).VueJS Uzbekistan - Telegram Community and Support Group.vueslack - 2300+ registered users worldwide.VueJS Iran - Telegram Channel & group (group link available in channel bio).vue-requests - Request a Vue.js module you wish existed or get ideas for modules.
#Advanced mce remote mapper tool load mc free
Prokarman Resume Builder - A Free Resume Builder for crafting resumes for your dream job.Vue.js Interview Questions - A List of 300 VueJS Interview Questions and Answers.Vue.js Jobs - VueJobs - A Vue.js job portal to hire or get hired for all your Vue.js jobs.Notes on Vue - A personal guide to Vue development.Best vue.js Courses On YouTube - Handpicked list of best Vue.js tutorials on YouTube.Vue.js Articles - Assorted Vue 2 and 3 tutorials and articles.Vue.js Workshops - Learn Vue 2, in browser, by building 3 applications: Landing page, Todos App and Podcasts aggregator.( Vue.js, Vue-Router, Vuex, Vue-Axios, Vue-Apollo ).Vue 3 Video Playlist - Amazing Vue 3 tutorials and experiments.Vue Mastery - The ultimate learning resource for Vue developers.- An extensive list of websites created with the Vue.js Javascript framework.Vue.js Online Courses Directory - Vue.js courses from top e-learning platforms curated by Classpert, a online course search engine.Vue.js DEV Community - Official tag for the Vue.js JavaScript Framework on DEV.to.A minimalistic list of Vue.js libraries and components based on the awesome-vue repo. Tips & tricks about the Vue ecosystem, for busy devs. Vue School - Learn Vue.js from video courses by core members and industry experts.Vue Curated Resources - Recommended Vue.js courses and tutorials.Weekly Vue.js Newsletter - Weekly Vue.js news & tips by Vue News - Social website focusing on the latest Vue.js news and information.Vue.js 資料まとめ(for japanese) by Vue.js Wikipedia.A curated list of awesome things related to Vue.js

0 notes
Text
Ff mod menu templates for ff vewer v3

#Ff mod menu templates for ff vewer v3 update#
#Ff mod menu templates for ff vewer v3 software#
#Ff mod menu templates for ff vewer v3 download#
#Ff mod menu templates for ff vewer v3 free#
Request For Commits #12 - Crowdfunding Open Source (Vue.js) (06-15-2017).
MW S04E08 - Vue.js with Evan You and Sarah Drasner (04-27-2017).
Codecasts #2 - Falando Sobre Vuejs e Web Components ().
#Ff mod menu templates for ff vewer v3 software#
Software Engineering Daily (12-29-2015).
VueJS Uzbekistan - Telegram Community and Support Group.
vueslack - 2300+ registered users worldwide.
VueJS Iran - Telegram Channel & group (group link available in channel bio).
vue-requests - Request a Vue.js module you wish existed or get ideas for modules.
#Ff mod menu templates for ff vewer v3 free#
Prokarman Resume Builder - A Free Resume Builder for crafting resumes for your dream job.Vue.js Interview Questions - A List of 300 VueJS Interview Questions and Answers.Vue.js Jobs - VueJobs - A Vue.js job portal to hire or get hired for all your Vue.js jobs.Notes on Vue - A personal guide to Vue development.Best vue.js Courses On YouTube - Handpicked list of best Vue.js tutorials on YouTube.Vue.js Articles - Assorted Vue 2 and 3 tutorials and articles.Vue.js Workshops - Learn Vue 2, in browser, by building 3 applications: Landing page, Todos App and Podcasts aggregator.( Vue.js, Vue-Router, Vuex, Vue-Axios, Vue-Apollo ).Vue 3 Video Playlist - Amazing Vue 3 tutorials and experiments.Vue Mastery - The ultimate learning resource for Vue developers.- An extensive list of websites created with the Vue.js Javascript framework.Vue.js Online Courses Directory - Vue.js courses from top e-learning platforms curated by Classpert, a online course search engine.Vue.js DEV Community - Official tag for the Vue.js JavaScript Framework on DEV.to.A minimalistic list of Vue.js libraries and components based on the awesome-vue repo. Tips & tricks about the Vue ecosystem, for busy devs. Vue School - Learn Vue.js from video courses by core members and industry experts.Vue Curated Resources - Recommended Vue.js courses and tutorials.Weekly Vue.js Newsletter - Weekly Vue.js news & tips by Vue News - Social website focusing on the latest Vue.js news and information.Vue.js 資料まとめ(for japanese) by Vue.js Wikipedia.If you’re unsure of what to pick, just leave them as they are and press Next.A curated list of awesome things related to Vue.js Go through the installing process and select your desired settings.
#Ff mod menu templates for ff vewer v3 download#
Click the link above, then click the download tab, then click the 32-bit or 64-bit Installer to download:.Notepad++ is far superior than the regular old Notepad and will allow you to edit your XMLs with ease. Don’t worry about any of the other settings for now.Now open it up and make sure it has the path to WinMerge correct.Then just move TS4 XML Compare.exe to your Desktop, no installation required.Find where you downloaded it to on your computer, then right-click to extract it using your extracting program (built-in, WinRAR, 7-zip, etc).Click the link above, then click on the Files tab, and click on TS4 XML Compare.rar as shown below:.
#Ff mod menu templates for ff vewer v3 update#
TS4 XML Compare will help you update any mods that become incompatible with a patch by comparing the old version to the new version.
Now that you have it open, go through the Options and set them as I have them below:.
Once installed, tick Launch WinMerge, then click Finish.
Go through the installing process and select your desired settings. If you’re unsure of what to pick, just leave them as they are and press Next.
Find where you downloaded it to on your computer, then double-click it.
Another window (or tab) will come up and it will automatically download.
Click the link above, then click the Download Now! button.
It’s required for TS4 XML Compare that we’re installing next. You’ll need WinMerge to check if your mods are compatible with new patches.
Close the program and it’s ready to go for the upcoming tutorials.
Once you have all of the settings done, go ahead and click the Save button in the Settings window.
Check to make sure the Sims 4 Path and Sims 4 Documents paths are set correctly.
Now that it’s open, click on Settings in the upper-left:.
Once it’s done installing, tick Launch Sims 4 Studio, then click Finish.
Once it’s done downloading, find where you downloaded it to on your computer and double-click the icon.
Scroll down and click on the Installer link to download:.
Now click on the link that says Sims 4 Studio version number (name) – Open Beta, as shown below (the version number/name will change as it receives updates):.
I’ve always used the Beta regardless and have had no issues. Note – The Community Tested Version was not available at the time that I wrote this guide, once it is you can use either one.
Click on Download Sims 4 Studio – Open Beta Version.
Click the link above, then Register (if needed) and Log in.
Most of these tutorials use Sims 4 Studio. I prefer Sims 4 Studio because it has almost everything you need to create Mods/CC all in one program.

0 notes
Photo
ToDo app in Vue.js ☞ https://medium.com/@ishitaa.ashley4/todo-app-in-vue-js-e58a456405fc #Vuejs2 #Vuex
1 note
·
View note
Text
Todo List App with Laravel and Vue.js
Todo List App with Laravel and Vue.js
In this video I go through the process of created a full stack todo list web application using Laravel 8 and Vue.js 2.
View On WordPress
0 notes
Text
Build a Real-World Todo List App with TypeScript and Vue.js
Building a Real-World Todo List App with TypeScript and Vue.js 1. Introduction Brief Explanation Building a real-world Todo List app with TypeScript and Vue.js is a practical way to learn modern front-end development. This app will allow users to create, read, update, and delete (CRUD) todos, with features like filtering, persistence, and real-time updates. The app will be built using…
0 notes
Text
Vue.js Todo App - Basics - Part 1
Vue.js Todo App – Basics – Part 1
In this video, we build a Todo app using Vue.js. This will give us a practical approach to learning how to use Vue.js and its core concepts. We scaffold our app using Vue CLI and build out our todo functionality while borrowing some features from the official Vue todo MVC. Full playlist: https://www.youtube.com/playlist?list=PLEhEHUEU3x5q-xB1On4CsLPts0-rZ9oos GitHub Repo:…

View On WordPress
#andre madarang#app#Basics#drehimself#learn to build a vue.js app#learn vue.js#Part#todo#vue#vue app#vue app example#vue basics#vue cli#vue cli install#vue components#vue js#vue js basics#vue js introduction#vue js project#vue js tutorial#vue todo app#vue todo app tutorial#vue todo basic#vue todo mvc#vue webpack#vue.js intro#vue.js todo app - basics#vue.js tutorial video#vuejs
0 notes
Link
JS完全に理解した……(し て ま せ ん) 見出しはエンジニア界隈でお馴染みのダニング=クルーガー曲線のアレでございます。2020年6月に出たばかりの最新のJS本を読んだので書評です。 570ページ余りの分厚さで電子版もあり。著者はECMAScriptの仕様にも関わっているazuさん、Angular日本ユーザー会代表のSuguru Inatomiさんと強力な布陣。ES2015(ES6)以降も進化を続けるJavaScriptについて、完全にES6をベースにしたモダンな入門書となっています。 コンテンツはGitHubで管理されてオープンソースとして執筆され、様々な人がコントリビュートした結果が反映される面白い作り方になっています。Web版もすべて無料で参照できるのですが、こういう体系的な情報はまとまった本で学ぶことにしているので電子版で読みました。 僕も2017-2018年ごろに掛けてJS&フロントエンド技術には再入門して、あれこれ本を読んだり3つの有力フレームワークを学んだり比較した結果を【JavaScript】3大フレームワーク Angular, React, Vue.jsを比べてみよう (2018年4月) - Rのつく財団入り口の記事にしたらなんか沢山アクセスがあったり、実案件でも実戦投入してきました。 規模の大きい開発にNode.jsビルドシステムを導入してリファクタしたり、用が足りると判断した案件では伝統のjQueryを使ったり、最近は見た目重視の案件にVue.jsを投入したりしています。社内の周囲ではJSもできるマンという感じになっています。 では(本来の意味で)JSを完全に理解しているか……というとけっこう怪しくて、使ってない構文もあればまだまだ理解しきれていないところもあります。またエンプラ世界の辛みで2020年の今もIE11の亡霊がなかなか絶滅してくれず、泣く泣くIE11でも動く古い書き方で留めておいたりすることもあります。(まあBabelとかもありますが。) 最近のフロントエンド人気にあやかってググっても大量に出てくるJavaScript情報でも、うっかり油断すると変数宣言が未だにvarだったり、古い情報や既に正しくなくなっている情報も出てきます。まとまった信頼できる情報を手元に置いておきたいなあと��よく思っていました。 『改訂新版JavaScript本格入門』という良本があるのですが、物理本を会社に残したままテレワークに突入してしまったので、これを機に改めて読んでみることにしました。 第1部 基本文法 constは再代入できないけどオブジェクトだと中のプロパティは変えられるので厳密には定数ではない、nullとundefined の比較……などやっぱり頭から抜けてた情報がありました。デバッグ方法やエラーの種類も書いてあるのがいいですね。 第7章 暗黙的な型変換 ここを読んでこれからは厳密等価演算子の === を常に使おうと固く決意して、今のプロジェクトのコードにも適用しました。(笑) falsyになる6種類の分類も雰囲気でやってたので明示的な解説がありがたいです。 第8章 関数と宣言、第9章 文と式 8章はよく忘れがちなアロー関数の話、9章は文と式は別で文はセミコロン必要という話。 全体的に本書はコード例も簡潔で良いですね。そしてつくづくJavaScriptの初期仕様はバグを出しやすい曖昧さがあちこちにあったんだなあと思います。 第10章 条件分岐 If文の中に変数を書くとfalsyかどうかで判定する。ということは「文字列がundefinedでもnullでも空文字でもない」を判定する時は if (varName) {....}だけでいいのか...! ネタ画像ですいません 第11章 ループと反復処理 配列の forEach, filter, someの後はコールバック関数であれば良いのだから、アロー関数にしなければもしやES2015以前のIE11用コードでも使えるのかな...? などなど、曖昧に使っていたところにけっこう知識の抜けがありそました。 第12章 オブジェクト JSでよく出てくるオブジェクトのおさらい。厳密にはキーと値の組のことをまとめて「プロパティ」と呼ぶのは地味に知らなかった...! キーの存在確認はundefinedとの比較より、in演算子かhasOwnPropertyメソッドの方が安全なんですね。 Object.keys以外にもES2017で列挙メソッドが増えたり、進化が続いているなあという印象です。 第13章 プロトタイプオブジェクト 普段目にしないのでよく忘れる、Object.prototypeというプロパティにオブジェクトが入っており組み込みオブジェクトはみんなこれを継承しているから組み込み関数が使えるよという話。例が簡潔かつ豊富で判りやすいです。 第14章 配列 よく出てくる配列の話。配列もオブジェクトの一種だけどArray.isArrayは配列かどうかだけを判定してくれるんですねえ。 findIndex, find, includesなどES2015以降の便利メソッドも増えているので、��識して新しい方を使っていかなければと思いました。IE11さえ、IE11さえいなければ...(呪呪呪呪呪) 列挙されると分かる、filterやreduceなどコールバック関数が必要な高階関数群。Array-likeなオブジェクトもあったりしてややこしい。破壊的メソッドと非破壊適用メソッドも名前から区別できれば良いのですが、そうもいかないですね。 第15章 文字列 頻出の文字列操作のあたり。sliceメソッドとsubstringメソッドの挙動が微妙に違うなど、なんでこういう言語仕様にしたんだろうなあと思います。JSにはいままでString#srartWithがなかったなど細かな発見もありました。 正規表現は普段はリテラルから、変数を使う場合はRegRxpクラスのコンストラクタから使うとGood。 match, exec, testと動作が少しづつ違う。コードの意図を判りやすくするにはStringクラスのメソッド群、柔軟な操作には正規表現を。 あまり使わないので曖昧になってた正規表現周りが整理できました。タグつきテンプレート関数は普段使わないのであまり理解できず……。 文字列の内部処理。絵文字も入ってくると文字コードの世界は奥が深い...! 第17章 ラッパーオブジェクト プリミティブ型の値にも裏で自動的に変換が掛かるので文字列からStringクラスのメソッドが呼べるんだよ、という話。JSでは常にリテラルを使うのがお作法。JSは「すべてがオブジェクトのように見える」言語だという話は納得です。 第18章 関数とスコープ 外側のスコープを順に見ていくのを「スコープチェーン」と呼ぶのは改めて知りました。 そしてJS特有の巻き上げの話。varによる変数宣言は宣言だけがより外側の関数かグローバルスコープに移動するので、この不思議な動きをするんですね。つくづくES2015までの世界のインターネッツのwebサイト群はよくこんな仕様の言語で壊れずに動いてたなと思います。 そして関数が状態をもったように振る舞ってくれるクロージャーの理解のカギは、JSの静的スコープとメモリ管理の仕組みである。この辺も難しいのですが、サンプルが明確なのでなるほど...!となります。 第19章 関数とthis JSでよくハマるthisの挙動の話がしっかり解決してあります。 普通に関数宣言したらundefined 、オブジェクトの中のメソッドから呼ぶとベースオブジェクトになる。 実はcall, apply, bindという明示的にthisを指定できる関数があるのは完全に忘れていました。 そしてよく問題になる、コールバック関数の中でthisを使う話。対処法は組み込み関数に引数として渡せるなら渡す、一時変数へ代入しておくというのはよく実際の開発時もやりますね。 そしてES2015以降のオススメが出ましたアロー関数で、常に外側の関数のthis を指すから分かりやすい...というもの。例をもとに明確に書いていてありがたいです。ES2015の仕様を策定した偉い人も通常の関数ではthisを使うべ��ではないと述べているそうで、このへんJSは難儀な言語だなぁと改めて思います。 第20章 クラス JSでも遂に書けるようになったクラス構文やsetter, getter。staticメソッドも書けるというはよく知りませんでした。 そしてclass 構文で書いたプロトタイプメソッドより、個々のインスタンスのコンストラクタに書いたインスタンスメソッドの方が優先されるというあたりもJS独特です。 そしてこれも独特なプロトタイプオブジェクトの話へ。インスタンスからクラスで定義したメソッドを呼べるのは、内部的にprototypeへの参照を持っているから。なるほどChromeの開発者ツールで見ると時々出てくる __proto__ はこの辺と関係しているんですね。 第21章 例外処理 Errorオブジェクトの種類などが明確に説明されています。 第22章 非同期処理: コールバック /Promise/Async Function JSでは非同期処理は「並行処理」、メインスレッドの中で切り替えながら行われる。名前はよく聞くWeb Worker APIの完全な非同期処理は「並列処理」で両者は違うもの。このへん日本語が混乱しがちです。 非同期処理では例外をキャッチできないのは実は知りませんでした。 そして今までのJSでコールバック関数の第1,2引数に渡るものでエラーを判別していたものは「エラーファーストコールバックスタイル」とちゃんと名前がついていました。 そして非同期処理をより簡単に表現しよう...と導入されたPromiseの話。予め成功時、失敗時の動きを関数で定義して引数で渡して実行することができます。メソッドチェーンは本書ではPromiseチェーンと呼んで三重、四重の処理をしたり。 本書の例は全体的に分かりやすいのですが、構文に慣れていないせいかPromise周りは難しく感じました。 非同期処理すべてが終わったら先に行く Promise.all, 一番最初に終わった処理だけ採用のPromise.race, そしてES2017から使えるようになる、より簡潔に書けるようになる async function 。 難しいですがこのへんは極めると色々応用が効きそうです。Promiseについてだけ別の本をPDFで作ったそうですが、確かに奥がかなり深そうです。 第23章 Map/Set JSにありそうで今までなかったMapとSet。オブジェクトを使う場合との比較など。使い方は他の言語とほぼ同じです。 JSON.stringifyに第2引数以降があるのはよく知りませんでした。 第25章 Date 言語仕様の分だけだと足りないところもあるDate周り。なるほど機能不足を補うために時々聞くライブラリのmoment.jsなどが出てくるのですね。 第1部の終わりにはモジュール機能の話、そしてJSの仕様が2015年以降毎年新しくなって進化している話が述べられています。 世の中の情報が膨大で間違っていることもあるので、適切な調べ方をもっておくことが大切...というのはなるほどなと思います。次の第2部は3つのユースケースを題材にした実際の開発での実践編です。 第29章 アプリケーション開発の準備〜第30章 ユースケース: Ajax通信 Node.jsを入れたりよくやる準備をしていざ開発へ。 最終的にはローカルで立てたサーバーで画面に入力したidを元に、GitHubのAPIと通信してユーザー情報を取得して表示する画面を作っていきます。最初はサンプルコードがイベントの中に長い処理がすっぽり入ってかなり不格好ですが、どんどんリファクタリングされて分割され綺麗に整っていきます。 通信はES6以降のFetch APIを使っていて、ここもついjQueryのメソッドを使っちゃったりするので従来のやり方から切り替えないとなと思いました。 そしてPromiseを使って実装すると、前の処理の結果をラップして次の処理に渡していけるんですね。さらにasync functionを使って書くとサーバーサイドの言語の順次処理のように簡潔に書けます。同期処理と非同期処理が両方あっても連鎖できるのがポイントですね。このへん実際使って慣れていかないとなあと思いました。 第31章 ユースケース: Node.jsでCLIアプリケーション 拡張子.mdのファイルを読み込んでHTMLを出力するコンソールアプリケーションを作っていきます。追加するライブラリはcommander, markedなど。オプションをデフォルト設定して起動時の指定を有線する所などは他の言語と同じ感じ。この章の例は分かりやすいですね。 外部ファイルの読み込みはES moduleの標準でなくCommonJSモジュールを使っていて一般的にはどっちが多いのだろうと思いました。 第32章 ユースケース: Todoアプリケーション JSの例でよく出てくるToDoアプリを開発します。最初は画面をそのまま実装し、DOM要素に直接値を持たせると限界があり、またどんどんイベントを登録していくと複雑になる一方である……と従来のやり方の問題点を提示します。 その後は状態やデータを別に持つModelクラスに分離するやり方を導入します。 さらにフロントエンドでよくあるObserverの考え方を導入、EventEmitterクラスを作ります。これも分かると何のことはなくてイベント名、コールバック関数の組で処理を貯めてSetに保持、外側からイベント発生時に emit されたら貯めてある中からコールバック関数を取り出して発動させるだけなんですね。これがModelクラスの親になるのが肝か。 最終的にはHTMLを描画する部分もViewクラスに切り出して、MVVMアーキテクチャ的なクラス構成になります。なんとなく思想的にはJSフレームワークのVue.jsに近い感じがしました。ViewクラスでDOM要素を描画しているところはReactっぽくもあります。メイン処理のAppクラスが役割的にはViewModelに近いような形でしょうか。 最終的にはリファクタリングして綺麗になるのですが、ピュアJSのみ(=いわゆるバニラJS)で書くと、それでもコード全体は結構な量になります。これをより短く書けるJSフレームワークやライブラリが生まれる訳だなあと思いました。 まとめ:JS完全に理解した……の先へ行ける、モダンJSのまとまった最新情報が得られる本! と読書メモを並べてみましたが、自分的には案の定というべきか、忘れているところ、理解があやふやなところがあちこちにありました(汗)。よい補完になりました。特に難しい��思ったのはやはりPromise周りでした。改めて理解を深めないと……。 複数の方が関わってコントリビュートしていることもあり、日本語の文章は読みやすいです。このへんは翻訳本に比べると強みですね。また全体的にコード例が豊富かつ簡潔で、(難しいところは難しいのですが)理解しやすいと思います。他の難しそうな本で挫折したという方も本書ならリベンジできるのではと思います。 本書のTwitterハッシュタグ #jsprimer を概観していると多くの人が呟いているのが、「今まで雰囲気でやっていた/理解していたところがよく分かった」というもの。僕も同じような感想を持ちました。変化を続けるJavaScriptについてまとまった、かつ今後もアップデートが期待できる情報源として、学習の傍らや実際の開発の傍らで大いに役立つことでしょう。 JS完全に理解した……の先へ! JS完全に理解した……の先へ行けるリンク集 本と同じ内容のWeb版。最後の『付録:JavaScriptチートシート』が解説ページそれぞれに飛べてとても便利です。 jsprimer.net 本書の続編の位置付けに『JavaScript Promiseの本』も無料公開されています。Promiseだけで一冊本ができるのが凄い……! それぐらいPrromise周りは難しく奥が深いということですね。 azu.github.io コンテンツ自体がオープンソースとして管理された本書のGitHubリポジトリ。 github.com 達人出版会からも出版されています。 tatsu-zine.com はてブ300の大注目を浴びた、なぜ書かれたかの記事。 efcl.info Web版を読んでJSに再入門した方の記事。 pagain.hatenablog.com Web版を読んだQiitaの感想記事。 qiita.com 本書でArrow Functionが分かった方の記事。 www.ry0takahash1.com 本書で学習を始めた方の記事。 自分用メモ JavaScriptの勉強を始めた #jsprimer - Mitsuyuki.Shiiba 500はてブと注目された、Ruby界隈やQiitaでお馴染みの伊藤淳一さんの感想記事。タイトルに埋め込まれたギャグにもっとツッコミを入れて欲しかったそうであります。 『「すでに他の言語のプログラミング経験はあるし、JSもある程度触れるが、ES2015以降の機能は雰囲気でしか理解していない」という人間にはピッタリの一冊でした』という感想に納得です。 blog.jnito.com JS完全に理解した……の先に行ける、モダンなJSが学べる最近の本 本書の作者さんによる、レベル別のJS本のおすすめリスト。JS本も列挙すると色々あるのですが、2010年代後半~の新しい本があまりないんですよね。 JavaScriptのレベル別書籍のまとめ · GitHub 『改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで』が初版2016年。2019年10月に6版でES2015の情報も強化され、電子版にも更新が入っています。 技術書では安心の山田 祥寛さんの本。評判も良く、言語経験があってJS再入門したい方には今もお勧めです。僕がJS再入門したのもこの本です。リファレンス用に会社の机に1冊置いてあるのですが、今ごろ埃をかぶってるだろうか…… Amazonでベストセラーになっている『確かな力が身につくJavaScript「超」入門』は2019年9月の最新。前述の本よりややランクを落とし、より初心者向け。開発経験のない方、浅い方はまずはここからしっかりやるのも良いと思います。 約束のオライリー本ですと、電子版がないですが『初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発』のが2017年1月刊行でぎりぎり最近といえるでしょうか。450ページあります。前述のレベル別リストだとこれも初心者向けの分類となっています。 「サイ本」として有名な『JavaScript 第6版』はさらに鈍器力の高い800ページ越え、こちらは2012年刊行で古めです。この2冊は表紙デザインがやや似ているので注意です。(「初めての~」の表紙はカバさん?) コードサンプルが大量に載ったスタイルの本ですと、『JavaScript コードレシピ集』が2019年1月、『JavaScript逆引きレシピ 第2版』が2018年10月。
0 notes
Text
2017 IN REVIEW
いつもの感じで、2017年振り返ってみました。
GitHub の草 (contributions)
2017年の草はこんな感じになりました。2016年の草も比較のために載せておきます。
2017 GitHub contributions
2016 GitHub contributions
contributions は今年は 4151 で、去年は 3505。
去年と同じく、Vue.js の OSS によるレビューや公式ドキュメント、awesome-vue のメンテなどによる活動がほとんど。後は、Storybook とか、個人の vue-i18n といった感じでしょう。
今年は去年より増えていますが、OSS の方では、そんなにガリガリコード書いてコミットしてないので、業務で新規開発プロジェクトがあったからその開発コミット数で膨らんでいるんという感じでしょうか。
イベントでの発表
今年の発表は以下の 5 件 でした。
Vue.js vue build
イベント: DIST.14 「事例で見るVue.jsとJavaScript LT」
Vue.js Single File Components++
イベント: Meguro.es x Gotanda.js #1 in Drecom
Vue on Storybook
イベント: Node学園 26時限目
Vue.js Extend with Compiler
イベント: ToKyoto.js ― Kyoto.js in Tokyo
Future of Vue.js
イベント: Vue.js Tokyo v-meetup #6
去年と比べると落ち着いた感じです。去年のふりかりで断言したとおり控えることができました。
イベント主催
自分、Vue.js 日本ユーザーグループの organaizer ですが、今年は以下の Meetup イベント 4 件開催しました。
Vue.js Tokyo v-meetup="#3" (参加申し込み数: 251)
Vue.js Tokyo v-meetup #4 (参加申し込み数: 294)
Vue.js Tokyo v-meetup #5 (参加申し込み数: 243)
Vue.js Tokyo v-meetup #6 (参加申し込み数: 270)
去年は2件だったのに、今年は4件。先日のブログで書いたとおり、これは完全 Vue.js 人気の余波です。参加申し込み人数が常に200人オーバーで、募集開始から1時間もかからないうちに定員達する人気ぶり。
去年まで初期メンバーのVue.js 日本ユーザーグループスタッフと私で運営していましたので、この規模になるとフルスタックでは手に負えなくなったので、途中から新規に運営メンバーを募集して今はイベント当日は12〜15名ぐらいで運営できるようになって大分楽になった感じです。100名規模が集まるMeetupイベントの運営を支えれるようになったのは、スタッフの皆さんのおかげなので大変感謝です🙏 。
OSS 活動
去年に引き続き、 Vue.js のコアチームメンバーとして活動しています。主に以下の活動をしました。
vuejs/jp.vuejs.org: Vue.js 日本語公式ドキュメントの翻訳メンテ
vuejs/vue-ssr-docs: Vue.js サーバサイドレンダリングのドキュメント翻訳とメンテ
vuejs/awesome-vue: Vue.js 関連のライブラリやエコシステムの素晴らしいリスト
その他の以下レポジトリのドキュメント翻訳メンテ
vuejs/vue-router
vuejs/vuex
vuejs/vue-loader
vuejs/vue-test-utils
去年は Vue 2.0 のリリースのために、Vue コアの単体テストといったドキュメント以外に実装にもコミットできていたんですけど、今年はドキュメントのコミットとなった感じです。
vuejs/vue-ssr-docs は新規ドキュメントの翻訳だったので大変だったので、Vue 2.0 のドキュメント翻訳と同様に、Vue.js コミュニティの力と、GitLocalizeの力を借りてやりました。
中でも、GitLocalizeはホント助かりました。翻訳の一番大変なのは、原文の更新の追跡なので、GitLocalizeで追跡して検出してくれるのは大変助かりました。GitLocalizeの中の人には大変感謝です。
今回の翻訳では、GitLocalize を利用させて頂きました。GitLocalize にも大変感謝です!https://t.co/2yaQv2qxoY
— 🐤kazuya kawaguchi🐤 (@kazu_pon) 2017年7月11日
vuejs/jp.vuejs.org のドキュメントメンテは、コミュニティの方が参加してくれるようになったので、去年とくらべて楽になりました。中でも、re-fort さんの che-tsumi という bot の投入は、GitHub Issues で翻訳内容が Issue という形でチケット化され、そしてそのまま取り込めるものは Pull Request にしてくれるようになったので、大分運用負荷と管理が低減されるようになりました。日本の Vue.js コミュニティには大変感謝です🙇。
他に、Vue.js 関連で自分がメンテしているものとして、vue-i18n と vue-validator を持っているのですが、これらについても活動しています。
多言語化ライブラリの vue-i18n については、以下のメジャーリリースをしています。
6.0.0
7.0.0
そして、ここ直近�� 7.3.0 のリリースでは、パフォーマンスを最大化できるように対応しましたが、この時このリリース対応の内容がどんなものであるかどうか分かってもらえるよう、初めて英語でブログ記事書きました。普段ブログもそんなに書かないの上、さらに英語なので大変でしたが、書いてみて意外と英語で書けるもんなんだなあと実感しました。海外の人に読みやすいものかどうか分かりませんが。
vue-validator については、去年Vue.js公式から取り下げてからメンテできていないのと、今後 i18n にフォーカスしていきたいため、残念がらつい最近開発を停止することを決意し、リポジトリを archive しました。
I archived vue-validator ✅ repository, due to I'll focus to vue-i18n 🌐 maintanance and new ideas of i18n architechture for WebAssembly. Thank you for everything you have done for vue-validator. /cc @vuejs https://t.co/MhNTZrqpGx
— 🐤kazuya kawaguchi🐤 (@kazu_pon) 2017年12月25日
最後に、Vue.js 以外の OSS 活動に取り組みとして、Storybook で Vue をサポートするために、メンバーに加わって活動しました。
つい先日のブログ記事にも書きましたが、Storybook はコンポーネントといったUI開発環境を提供するツール的なものですが、React.js、Raact Native といった React 関連ののみしかサポートしていませんでした。同様なものとして、vue-playがありますが、作者のegoist氏が vue-play に対して活動がアクティブではおらず、Storybook と同等のものが利用できる状態ではありませんでした。
そんな中、Storybook で Vue.js をサポートするために Storybook のメンバーといっしょに自分も開発を進めてリリースできたことは、大変エキサイティングであったし、Vue.js コミュニティが Storybook を使って効率的なコンポーネント開発を可能になるのは、開発体験(DX: Development Experience)がよくなるので、ホントよかったと思っています。また、Storybook のチームメンバとして参加することによって、他の OSS の文化を体験することができてよかったと思っています。
ポッドキャスト
2017 年は初めてポッドキャストに出演した。しかも、いきなり 5 件も。
genba.fm: #1 Awesome Vue
soussune: 28. コアコミッターが語るVue.jsの話
soussune: 32. Vueでワイワイやっていき
soussune: 33. Vueでワイワイやっていき Aftershow
しがないラジオ: sp.9a【ゲスト: kazu_pon】楽しい廃人格闘ゲーマーがWeb系CTOになるまで
しがないラジオ: sp.9b【ゲスト: kazu_pon】楽しいOSSコアチームメンバーへの道
ポッドキャストは中々難しいですね。話すシナリオは予め show notes などで考えているんですが、実際にはパーソナリティと対話形式みたいな感じで進めていくので、リスナーのみなさんを意識した喋る必要がありますので。
来年はもう少しリスナーに聴きやすい話し方にしていきたいところです。
仕事関係
今年も引き続き、CTO として会社のシステム全般をリードしながら開発しつつ、CFO 的な会社の予算計画やキャッシュフロー周りをみながらやっていますが、今年は採用周りの人事もやっています。
開発は、今年は新規プロジェクトが立ち上がり無事終えて、次回に向けて進めることができてよかったのですが、それに伴い開発力を強化するためにエンジニアが必要になってきています。今年は自分の目標としては新しい仲間を増やしたかったのですが、現時点の結果としては採用できていないので、なぜ採用できなかったのか、いろいろと反省してみて、引き続き新しい仲間と共にいっしょにやっていけるようにしたいところです。
来年度にむけて (まとめ)
今年も、OSS の方は去年に引き続き Vue.js コアチームとして OSS 活動し、他に Storybook のメンバーとして OSS 活動しました。
イベントの方は新たに加わったスタッフと共にいっしょにやることで定期的に開催し、役割分担することで運営することができました。
仕事の方は、引き続き CTO & 開発、経営企画しながら、さらに人事周りの経験してきました。
来年度ですが、OSS の方は、Vue.js のミッションに向けて引き続きコアチーム、そして Storybook のメンバーとして OSS 活動していきますが、翻訳以外に OSS 開発する時間を増やしていきたいと考えています。
具体的には、WebAssembly 時代を想定した i18n の新しいアーキテクチャのプロトタイプを実装していきたいと考えています。
WebAssembly の方は今年主要ブラウザでサポートするようになり、それに伴い AssemblyScript にような WebAssembly をサポートするような言語も出現しつつあります。また、WebAssembly は GC などの次に向けた仕様や、Web 以外での動作も想定した仕様が策定されつつあります。
これまで、vue-i18n を通して多言語化ライブラリを作成してきましたが、そのライブラリ開発や ECMA-402 の仕様、そしてこの"i18n ライブラリ、フレームワークは新しい todo apps?"という記事"にもある通り、特定のプログラミング言語や、ライブラリ、フレームワークに依存しない、i18n のアーキテクチャを考えて仕組みを提供したいと思うようになりました。
WebAssembly の将来性を考えると、i18n はまさにユースケースにピッタリだと考えています。
来年度は、WebAssembly 関係の技術をウォッチしつつ、i18n の新しいアーキテクチャの PoC をやっていきたいところです。
イベントの方は、日本で Vue.js カンファレンス開催に向けて、スタッフといっしょに頑張ります!💪
仕事の方は、何としてでも新しい仲間といっしょにやっていきたいところです。
それでは、皆様、良いお年を。来年もよろしくお願いいたします。
3 notes
·
View notes