Defiantは、破壊的な技術の構築を促進することを目的としたNode.js Webアプリフレームワークです。
Defiantは、その作成者がこのようなシステムをどのように設計すべきか、および使用の可能性について強い意見を持っているため、そのように名付けられています。 (既存のフレームワークの多くが基本的には互いにクローンであるように思われたため、「反抗的」とも呼ばれ、まったく違うことをしたかったのです。)
Defiantは完成したプロジェクトではありません。しかし、それは進行中の積極的な作業であり、あなたの意見を歓迎します。ロードマップをチェックして、どこに飛び込むことができるかを確認してください!
現時点では、反抗者を見ている人はほんの一握りです。ただし、お話ししたい場合は、こちらからSlackにご参加ください!あなたの関与は私たちにとって非常に貴重です!
例としてメールを使用しましょう。独自のメールアドレス( @yourname.comなど)が必要な場合は、2つのオプションのいずれかがあります。独自のメールサーバーを設定するか(Google、Zohoなど)、おそらく毎月/年会費でホストする人(Google、Zohoなど)があります。自己管理は非常に複雑です(ファイアウォール、IMAP/POP3/SMTPアクセス、Webベースのフロントエンド、正しいDKIMおよびSPFレコード、SSL証明書、スパムフィルタリング、ユーザー管理などを備えたDNSレコード)。ただし、それを管理するために他の人に支払うと、複数のユーザーアカウントが必要な場合に高価になり、カスタマイズがほとんどなく、常にその第三者に翻弄されています(ただし、スパイすることを決定する場合があります)。
これは反抗者と何の関係がありますか? Defiantのフレームワークは、単一のシンプルなパッケージに包まれた上記のすべての部品を提供できます(エンドユーザーの観点から)。ある意味では、フレームワークの意図は、これらすべての異なる個々のシステムの相互作用を振り付け、私たちの「単なる人間」が安全に実装できる形式にそれらを配置することです。 Defiantは、私たち自身のサーバーのプライバシーからこれらのテクノロジー(およびプロキシによって、あなた自身のデータ)を所有および管理できることを望んでいます。
Defiantを使用してどのようなシステムを構築できますか?
これらのシステムはまだ存在していませんが、むしろ反抗的な背後にある意図を示しています。上記のシステムを構築する(Mix and-Match、実際に)安全で使いやすく、柔軟なフレームワークが必要です。私たちは、大企業からインターネットを取り戻し、強力な技術を私たちの普通の人々の手に戻したいと考えています。
ちなみに、私たちはそれをするためにあなたの助けが必要です。 Defiantの開発を支援し、インターネットを取り戻すことを検討してください。反抗的である!
Defiantは、開発者がこのフレームワークを使用して、コアファイルをハッキングせずに機能を追加または変更できる必要があると固く信じています。同様に、このフレームワークにサードパーティのプラグインを使用しており、プラグインの機能を追加または変更したい場合は、プラグイン自体をハッキングすることなくそうすることができるはずです。アーキテクチャがこの柔軟性をサポートしていない場合、これはバグとして解釈され、そのように報告する必要があります。要するに、すべてが過剰に配置できるはずです。
Defiantは、厳格なMVCフレームワークを順守しません。これは、私たちが念頭に置いているものに対して十分な柔軟性がないためです。
すべてのフレームワークには、何かについて意見があります。ファイルがどこに配置されているかを気にする人もいれば、特定のパラダイムを実施したい人もいます。 Defiantの意見は、異なる部分がどのように相互作用するかについての意見です。 JavaScript言語とnode.jsプラットフォームは、統一されたアーキテクチャの下でさまざまな問題とユースケースに取り組むためのユニークで強力なツールセットを提供します。
私たちは、オープンソースはまさにそれであるべきだと信じています:完全に開いています。私たちは一般に、他のプロジェクトに要求するGPLの規定のいくつかに同意しないため、MITライセンスの下でこのプロジェクトのライセンスを取得しています。
理想的な世界では、著作権は私たちがより大きな利益のために無視できるものです。残念ながら、弁護士、政治家、企業の貪欲には複雑なものがあるので、彼らが生み出した負担の下で活動しなければなりません。そのため、Defiant Projectの著作権所有者はCorey Pennycuffです。プロジェクトへの貢献者は、故意の貢献により、Corey Pennycuffへの貢献の著作権を割り当てることに同意し、そうする法的権限があることを確認します。この規定の例外は、サードパーティライブラリを含める場合に許可されています。これは、独自のサブディレクトリ内に完全に存在し、適切な著作権所有情報を含む必要があります。
反抗的なマニフェストは、反抗的なプロジェクトの哲学を説明しています。彼らです:
これらのアイデアをどのように適用するかを理解するために、(短い)マニフェスト自体を読んでください。
これまでのところ、Windows 10のLinus(具体的にはDebian)とLinus(WSL)のWindowsサブシステムでのみこれをテストしました。
最低限、 pythonおよびsqlite3パッケージをインストールする必要があります。また、 build-essentialが必要になる場合があります。
apt-get install python sqlite3これらは、Defiantが依存するモジュールのインストールに必要です。コードベースの直接的な依存関係ではありません。
これにはしばらく時間がかかります...
npm installデフォルトでは、Defiantは/var/defiantディレクトリに情報を保存しようとします。これは将来的に構成可能になります。とりあえず、ディレクトリを作成し、ディレクトリに許可を書き込むことを確認してください。
const Defiant = require ( 'defiant' ) ;
new Defiant . Engine ( )
// Add Plugins.
// The Example Plugin is included with Defiant, and, of course, should not
// be included in production code.
. addPlugin ( Defiant . Plugin . Example )
// Explicitly set a directory where Defiant should look for the settings
// files. If no files exist, then appropriate defaults will be generated.
// This directory should be separate from your application code, and
// preferably under version control.
. defineBootstrapDirectory ( '/var/defiant/settings' )
// Initialize the Engine and its components.
// init() is the last call that should be made, as Defiant will now begin
// listening for connections.
. init ( ) ; Defiantはポート8888で実行を開始します(これは将来構成可能になります)。したがって、 http://localhost:8888にアクセスして、サイトが実行されているのを見ることができます。管理者のユーザー名とパスワードのコンソール出力を見てください。
Defiantは現時点では多くのことをしておらず、真剣な仕事の準備ができていません。なぜ?もちろん、まだ構築されているからです!その一部は、開発者の心と会話の中にのみ存在します。手伝いたい場合は、メッセージを送信して、現在のロードマップが何であるかを調べてください。
ロードマップを見て、何が機能しているのか、そして私たちの直接のレーダーに何があるかを確認してください。さらに良いことに、私に連絡して、あなたがどのように飛び込んで開発を手伝うことができるかを見つけてください!
繰り返しますが、このコードはまだ生産作業を目的としていません。
ドキュメントはこちらをご覧ください。
APIには何も石に設定されておらず、公式のドキュメントはほとんどありません(ただし、責任を持ってコードをコメントしようとしています)。さらに、これは最初のドラフトであり、完全ではありません。コードを見ると、これを覚えておいてください。システム全体にハッキングとトドスが散らばっています。ハックは、他の半関連部分を具体化できるように、何かを機能させることだけでなく、後でコードを再検討する意図があります。時々、TODOは単なるアイデアを表すスタブであるか、後でシステムとインターフェイスする必要がある場所を示すものです。時々、この機能は著者の心にのみ存在します。 ESPはここで役立ちます...
とりわけ、新鮮で無料のコーディング体験の希望のために、大衆の傾向と知恵に逆らうことをお勧めします。それが失敗した場合、あなたも不機嫌になることができます。あなたが何であれ、...反抗的に!