先週の土曜日にAvitoオフィスで開催されたSPA Meetupです。 これは、Webアプリケーション(シングルページアプリケーション)のトピックに興味を持ち、同情するフロントエンド開発者に焦点を当てたMoscow.js mitapサテライトです。 これは3回目の会議であり、3つのレポート、2つの電撃戦、無料のマイク、パネルディスカッション、そしてもちろんライブコミュニケーションという非常に豊富なものでした。 この投稿では、それがどのようであったかについて少し話し、レポートのビデオ映像を共有します。
報告書
会議は、AvitoのAlexander Lobashevによって、設計プラットフォームに関するレポートとともに開かれました。 今日、ますます多くのチームがさまざまなツールとシステムを使用して、コンポーネントとその構成を操作し始めています。 このようなソリューションは、フロントエンド開発の作業を促進および最適化し、設計やテストなどの他の機能との相互作用を改善するように設計されています。 より多くのソリューションがあり、これは素晴らしいことですが、大企業やプロジェクトには既製のソリューションがなく、独自のソリューションを作成することがよくあります。
Badooの開発者であるMaxim Kislovが、 プロトコルバッファ (または単にprotobuf)テクノロジを使用した経験について会議を続けました。 このメカニズムはデータをシリアル化するように設計されていますが、プラットフォームや言語に依存しません。 当初、このソリューションはサーバー側を対象としていましたが、やがてフロントエンドを含むクライアント側で利用できるようになりました。 時間が経つにつれて機能がますます大きくなり、初期要件が変わり、レガシーが出現し、プロジェクトのさまざまな部分の相互作用のためのプロトコルを維持することがますます難しくなっているため、解決される問題は大規模なプロジェクトで深刻になります。 プロトコルバッファは適切な応答を提供し、たとえば、Badooがバックエンド、モバイルアプリケーション、およびフロントエンド間の対話の単一プロトコルを使用できるようにします。
AvitoのRoman Dvornovによる3回目の講義では、ランタイムへのリモートアクセスを提供することでWebアプリケーションの開発を支援する独自の開発ツールの作成について触れました。 複雑に聞こえますが、場所によっては複雑ですが、今ではそのようなツールの作成を容易にするソリューションがあります。 このソリューションはremplと呼ばれ、ツール自体に集中し、インフラストラクチャについてあまり考えないようにします。 remplに既に組み込まれているツールの例(だけでなく):プロセスアナライザーとWebpackでのアセンブリの結果、リモートコンポーネントインスペクター 、 シャワーの プレゼンテーションコントロールパネル -これはほんの始まりです。 このレポートから、使用シナリオ、それがどのように機能するか、そしてライブコーディングのデモがあります。
ブリッツ
さらにプログラムでは、2つの電撃戦の報告がありました。 HeadHunter Nikita Mostovoyは、テスト用のスタブのトピックを取り上げました。 彼は、バックエンドとフロントエンドの両方を便利に作成する方法に関する彼自身の経験を共有しました。
Zeengの代表であるAlexander Saftによる2番目の電撃戦は、複雑なフォームからのデータを検証し、検証をフロントエンドと同期する方法についてです。 この問題の解決策の1つは、特別なJSON、またはJSONスキーマを使用することです。 これは、アレキサンダーが多くのコード例で言ったことです。
ゆるいマイク
実験として、参加者が自分のオープンソースプロジェクトについて話す機会を提供しました。 実験は成功し、次のツールが提示されました。
- Roman Dvornovは、W3C仕様に従って検証できる高速で詳細なCSSパーサーであるCSSTreeについて話しました。 Alexa Top 250サイトが検証された実験から判断すると、ほぼすべてのサイトにCSSエラーがあります。 CSSTreeは、プロジェクトの間違いを避けるのに役立ちます。
- Alexander Mekhonoshinは、 Npm Api Serviceの経験を共有しました。これにより、AlfredとChromiumブラウザーのアドレスバーの両方で、検索を構成し、npmパッケージのリポジトリに移動できます。
- Alexei Okhrimenko SimplePEGの野心的なプロジェクトでは、シンプルなデザインを使用して文法を記述した独自のパーサーを作成できます。 SimplePEGとPEGの主な違いは、JavaScriptだけでなくPythonでも、将来的には他の言語でもパーサーコードを生成できることです。
- 時間がないため、Konstantin Lebedevは自分のSortableプロジェクトを良い手で提供したいと考えています。 これは、人気のあるライブラリ(GitHubで〜10,000個のスター、npmでのみ〜10,000個のダウンロード)のメンテナーになる良い機会です。これにより、ドラッグアンドドロップでリストをソートでき、多くの統合が可能になります。
議論
会議の終わりに、パネルディスカッションが行われました。 アレクサンダー・ロバシェフ(Avito)、コンスタンチン・レベデフ(Mail.ru)、アレクセイ・オクリメンコ(IPONWEB)、アナスタシア・ゴリャチェヴァ(Avito)、アレクサンダー・マヨロフ(tutu.ru)が出席しました。 議論のトピックは、コンポーネントとコンポーネントアプローチです。
議論を改めて伝えることは恩知らずの教訓であり、記録を見ることをお勧めします。 しかし、アプローチやオールインjsに関しては、真ん中に近づくと、情熱が白熱したことに注意してください。 ある時点で、マイクはデニスヨハンセン(LiveJournal)によってキャプチャされ、スムーズにパネルのメンバーになり、議論が復活しました:)暑くて、すぐに1時間が経過し、明らかに十分ではありませんでした。 したがって、非公式の設定でさらなる議論が続けられ、それはまた刺激的でした。
次のリンクで、SPAミートアップ#3のすべての資料を見つけることができます。
会議に来て、放送を見て、組織に積極的に参加してくれたみんなに感謝します。 すごかった!
レビューの主な願いの1つは、このような会議をより頻繁に開催することであり、現在は毎年開催されています。 素晴らしいオファー! 十分なトピックと講演者がいるので、SPAミートアップをより頻繁に実施してみましょう。 何か伝えたいことがあれば、 Roman Dvornovまたはteam@moscowjs.ruにアプリケーションを送信してください 。 次の会議を見逃さないために、 Timepadまたは@moscowjs twitterでSPA Meetupのお知らせを購読することを忘れないでください。 じゃあね!