フレームワークについて

ローマン・イヴリーエフ







今日の記事では、多くの最新のWebプロジェクトの不可欠な部分であるフレームワークについて説明します。







banki.ruポータルの多くのプロジェクトの例、およびOntikoの大規模プロジェクトのスタジオでのカスタム開発に関するRoman Ivliev。 次のトピックを検討し、質問への回答を探します。







  1. フレームワークとは何か、そしてなぜ彼らは書くのか。
  2. 一部の言語には何十もの言語があり、一部の言語には単位があるのはなぜですか。
  3. 使用の長所と短所は何ですか。
  4. 最も一般的な神話。
  5. 使用するかどうか-人生の例。
  6. 注目に値する多くのオプションから選択する方法。


フレームワークについて



ローマン・イヴリーエフ(Banks.ru)











私は非常に長い間ITをいじくり回しており、10年以上にわたってエンジニアからディレクターになりました。















今日は何について話したいですか?















実際、なぜこれらの素晴らしいフレームワークを書くのですか? なぜそんなに途方もない量があるのでしょうか(これを行う人なら誰でも、ほとんどすべての言語であることを知っているでしょう)。 それらの使用の長所と短所は何ですか? 最も一般的な神話と、それらを選択する際に注意できること、注意すべきことについて。







私はあなたに警告します-それは永遠のホリバーのトピックであるため、レシピはありません-どのプログラミング言語が優れていますか? 最初に戦い、プログラミング言語を選択し、次に戦い、プログラミングするフレームワークを選択します。







重要な免責事項:















私が今あなたに言っていることを試してみる前に、最初に隣人と一緒に試してみることをお勧めします。当然、あなたよりも後で何かを傷つけたほうがいいからです。















しかし、なぜフレームワークを書くのですか? なぜそれらが何十個もあり、一部の言語では何十個もあります。















これが写真です。 誰が自分を認識しましたか? 他の誰かが自家製のものを使用しています-自分自身で何かクールなことをしたオフィスがあります。 そして私は認めます-私が働いた各オフィスには独自のフレームワークがありました。 さらに、Banks.ruには、Bitrixに基づいて構築されたフレームワークがあります。 したがって、私は長い間痛みについて話すことができます。 そのタスクを完全に実行する2008年モデルのBitrixがあります。その中には、長年にわたって詰め込まれたでたらめの名前、クラス、およびヒープを除いて、ごくわずかなBitrixしか残っていません。 しかし、それでも。







おそらく誰もがフレームワークについて聞いたことがありますが、これはアプリケーションを何らかの形で制限するようなフレームワークであり、特定の構造、つまり いくつかの問題を解決します。 なぜ彼らは書くのでしょうか、キムスとは何ですか?















概して、プログラミング言語があり、テイクアンドライティング-歌を続けてください。







これはおそらくそれらが書かれている理由のトップ4です:















実際、さらに多くの理由があります。 まず第一に、人々は開発を促進しようとしています。 時間の経過とともにベストプラクティスのいくつかを蓄積し始め、多くの関数がある場合はそれらをライブラリに結合するのが理にかなっているため、改善してください。 その後、ライブラリをさらに厚いライブラリに結合し、トリック、チップ、ミューレットを追加して、これらすべてをクールにすることができます。















これを行う理由はさらに2つあります。 たとえば、「あるものは、彼は悪いです。」 これは私の実務ではそのような決定的な議論です。 あなたは言う:「なぜフレームワークAではなくBを採用したのですか?」-「Bは悪い」 「なぜ?」-「理由」 これについては少し後で説明します。







もう1つ重要な点がありますが、誰が自分で書き始めたのですか? 私の記憶では、すべての開発者...自分のフレームワークを書き始めていない人はいますか? あります。 これは本当に恥ずべきことではありません。また、プログラミングの方法を既に知っているなら、フレームワークを書くことは時間の無駄だからです。 誰かがすでにあなたのために書いたものを取り、それを追加すれば、はるかに速く、より効率的になり、同じ問題を解決できるからです。







分からない、多分これは世代の違いに少し起因しているのかもしれない。 しかし、このすべての不名誉に対処し始めたばかりの頃、私のCMSとフレームワークを書くことは一般に名誉の問題と考えられていました。 つまり 独自のCMSを持っていない場合、あなたは吸盤です。 独自のフレームワークがない場合は、CMSを作成した後、一般的に、あなたは二人三脚です。 さらに、しばらくして、その世代から私と一緒に育った人々は今や同じことをしています-彼らはまだ彼らのフレームワークを書いています。 見知らぬ人が悪いからです















長所と短所。 ワゴンを作っているようです。 見てみましょう。







第一に、すべてのソリューションが有用であるとは限らないため、インターネット上では、役に立たない量と比較して有用な量がどれであるかがわかります。 1つの便利なことに、数百万のゴミがあります。 百万ではないかもしれませんが、それでも。







それらが何のために書かれているかに基づいて、利点は何かを見てみましょう。















当然、典型的な問題はすでにそこで解決されています。 ファイルに何かを書き込む方法を考える必要はありません。クリックしてメソッドを呼び出す必要があります。メソッドはファイルに書き込みます。メソッドはhttpリクエストを送信します。メソッドは何かを送信します。メソッドはデータベースを設定します。一般に、他のすべてのことを行います。 そして、原則として、あなたが座って自分でプログラムすることができるのと同じこと、他の人はすでにあなたのためにプログラムしています。 いいですか どうしていいの?







このような背景に対して、開発をスピードアップできます。 10個のメソッドなど、独自のプログラムを作成しないため、既製のメソッドを使用します。 それぞれドキュメントがある場合。 ドキュメントについても説明します。







同じことができる可能性があります。 たとえば、会社に10個のプロジェクトがある場合、つまり、フレームワークが提供したフレームワークを使用して1つのプロジェクトで問題を解決するときに、これらの開発を穏やかに(比較的穏やかに)隣接プロジェクトにドラッグできる可能性がゼロではありません。 この場合、時間と労力は節約できますが、神経は節約されません。 なんで? それは悪いからではなく、人々が本当に異なっていて、フレームワークがツールだからです。 ハンマーを代替手段と考えると、ハンマーを持っている人は釘を打つ方法を知っており、ハンマーを持っている人は指を打つ方法を知っています-同じツールのように見えますが、効果はまったく逆です。 これと同じこと。 人、経験豊富な人、使い方を知っている人が問題を冷静に解決します。 ほとんどの場合、後でそれを使用する他のすべての人は、生活、宗教、および他のすべての理由のために、資格がわずかに異なる可能性があると考えずに。







また、原則として、外部のソリューションで解決された多数のタスクがあるときに検索する代わりに、このソリューションの専門家を見つけることができるため、人をより早く見つけることができ、あなたの人生が速くなります。 人はプロジェクトに早く入ります。















おそらく、フレームワークを投稿する人々(とにかくではなく、プレゼンテーションの最初に写真に写っていた人々)は専門家であると理解されています。 その写真では、PHP、Python、Java、およびJavaScriptで最も人気のあるフレームワークのいくつかが収集されました。 ほぼ工業的に開発されていることは、専門家によって開発されていることを意味するため、このソリューションを選択すると、一般的にそこに書かれていることをほぼ100%の確率で確実に機能させることができます。















短所 フレームワークとは何ですか? これは他の誰かのコードの山であり、文書化されている場合もあれば、あまり文書化されていない場合もあります。 そして最も重要なことは、これがどのように機能するかは必ずしも明確ではありません。 つまり 大きな太いフレームワークを使用する場合、その中で実際に何かがどのように発生するかを把握することは非常に困難です。 したがって、ブレーキにぶつかる状況では(「何かが遅くなる」と言いたいので)、このボックス内で何が遅くなるかを理解するための努力をする必要があります。 このボックスの何が問題なのかを理解していても、このボックスを書き直すことも確かな努力です。 各フレームワークは開発者にプログラミングスタイルを課しているためです。 あなたは非常にクールなフレームワークを取り、その上でプログラムを作成することができますので、あなたの仕事の結果は、これらの素晴らしいプロの人々、すべてのアイデアによって定められたすべてのものを消し去ります。







別のマイナス-あなたは再学習する必要があります。 同じプログラミング言語内でフレームワークを使用しても、実際には互いに非常に異なります。 いくつかのSymfonyをPHPに取り込んで、それらを内部に配置する方法、それらを使用する方法、これらは完全に異なるダイアログです。 例えば、仕事の発表で「彼らはそのようなフレームワークのプログラマが必要だ」と書いているとき-これは特別に書かれています。 あなたが別のフレームワークで書いているなら、おそらくあなたはすでに変形した意識を持っているからです。 人間では、原則として、同じものを長時間使用すると意識が変形します。 たとえば、長い間アセンブラーでプログラミングしていて、頭の中で微積分系を三元から25三量体に変える方法を知っているなら、その後簡単なことをすることはできないでしょう。 あなたはすでに難しいことをする運命にあります。 フレームワークについても同じことです。1〜2回プログラミングされた非常にシンプルで非常に軽量なワイヤーフレームソリューションがありますが、スペシャリストが正常に機能させるのが非常に難しいこともあります。















したがって、以前のすべてのマイナスに関連付けられた特定のフックを取得します。 つまり いずれかのフレームワークを使用して会社で大量の何かを開発している場合、実際に別のフレームワークに切り替える機会はありません。 あなたは非常に親切なビジネスを持っているか、夜、25時間目などを犠牲にする準備ができているスタートアップです。 すべてが違うからです。 多くの言語では、同じJavaであっても、異なるイデオロギーが定められています。データを処理する方法は異なり、これらのアプローチはすべて異なります。 その結果、あなたは人質になります。 実際、言語の場合と同じです。PHPで書き始めた場合は、引き続きPHPで書きます。 または、サービス指向のアーキテクチャを使用しており、本質は同じです-断片を取り込んで書き換えることができます。 彼女があなたを救ってくれます。 他のすべては保存されません。















神話があります。 そもそも、善と永遠を信じることは人間の本性であるという事実に関連しています。 「すべてが腐敗しやすく、PHPが腐敗しやすく、Perlが腐敗しやすく、Goが腐敗しやすく、すべて腐敗しやすい。 Common Lispがすべてです! Common Lispで独自の言語を記述し、独自の言語で独自の言語を記述します。それを楽しく熱心にカットしますが、すべてが「欲しい」のであり、他のすべては単に賞賛します。 しかし、神話は頻繁にあり、これは実際には人生からのものです。 これらは、額が本当に直面しなければならなかったものです。 つまり 一見専門家によって開発された...















最初の神話はセキュリティです。 フレームワークは専門家によって開発されていますが、その一部は何百万人もの人々によって使用されているという事実にもかかわらず、これはオープンソースです。 セキュリティはオープンソフトウェアの惨劇です。セキュリティパッチを公式に発表するからです。さもなければ、人々はそれらについてどのように知るのでしょうか? あなたはそれを受け取ってサイトに書きます:「さて、ここで穴を見つけました...どうか、自分を守る時間がなかった人、自分を更新する時間がなかった人が参加してください。」 サードパーティの開発者-車、あなたは悪いコードを持っているいくつかの悪いGitHubから誰かのソリューションをつかむことができます(おそらくどこかにあります)。 原則として、この豊富さにより、自分の手を完全に意図的に使用して誰かのエクスプロイトを自分のコードにプッシュする状況に簡単に陥ることができます。セキュリティは重要なことです。 多くの人がアプリケーションのセキュリティをテストしていますか?















ここで、実際には、あなたへの答えは、これが横棒である理由です。 なぜなら、ソリューションは準備ができており、ソリューションはクールで、ソリューションは機能し、すべてが素晴らしいので、プログラムするからです。 その後、どこかでデータが漏洩し、何らかの理由でオンラインストアが1ルーブルで販売され始めた、またはデータベースが最近「ソーシャルネットワークで番号を見つけました」などの電話番号で公開されました。 ええ、ソーシャルネットワークで見つけました。 ソーシャルネットワークで、ビールを購入した管理者を見つけました。管理者は確かにいくつかのソフトウェアを更新しました。















エンジニアに関するクールな神話。 ここですべてが標準化されていれば(彼らはまだ標準、職場での規則を書いている)、誰でも簡単にエンジニアを交換できると信じています。 それは素晴らしいです-例えば、Haskellエンジニアの完全な市場。 エンジニアでいっぱい。 Open HeadHunter-Haskellの多くのエンジニアは、あなたの会社で働くことを夢見ています。 あなたが始めたばかりであれば、これはうまく機能します。 私には35人のエンジニアがいて、開発のための標準もあり、人気のあるフレームワークもあります。プロジェクトをすでに開始しています。11歳です。メンターなしでチームに入るには時間がかかります。座って何をすべきかを1か月間言います。 メンター付き-2週間。 そして、あなたはまだ何匹の悪魔を探しているのです。私には通常動物園と呼ばれるものがあります。 私たちはPHPで書いています。私はBitrix、Symfony、私が以前に呼んだものの2つのバージョンを持っています。そして、前面には同じリストがあります-約7つ、今でもすべてを覚えていません。 ただし、これがすべて正常に機能する場合でも、FIGはすぐにエンジニアを見つけます。 各ツールを希望どおりに使用できるため、SpringのJavaフレームワークでプログラミングを行うエンジニアAはこのように記述し、エンジニアBはそのように記述します。 そして、2人の男が出会うと、2人目の男が最初に言うこと:「いいえ、できません、さあ、すぐにすべてを書き直します」彼は3人目の男を追い出します。 。 彼は、この2人を見て、見て、「くそー、うまくいった?」と言います。















この結論から:器用さなし-シープスキンコードであり、原則として、概して、何もできない。















誰もが開発速度について語っています。「今すぐフレームワークを採用し、フレームワークはクールで、フレームワークは迅速に機能し、迅速に固定し、まとめ、そしてすべてが迅速に進みます。」 実際、標準ソリューションが必要な場合は、これらすべてがうまく機能します。 標準的なソリューションが必要ない場合は、適切なフレームワークが見つかります。 たとえば、ファイルを愚かに送信して何かをする必要がある場合、それは良いことですが、httpに対して適切に応答しなくなるデバイスを入手し、それを1つではなく121か所に記録する必要がある場合、あなたはまだすべてを自分で書く必要があります。 そして、有名な物語に出会うと、うまくいくものがあると、うまくいかないと言います。前のフレームワークは悪いので、徐々にこのフレームワークに基づいて、独自のものを作り始めます。















実際、私はフレームワークを使用して記述しているのでそれほど悪くはないので、どこでも自然に少し誇張していますが、間違いなく痛みがあります。 実際、スペシャリストがいる場合、これはすべてクールです。 1つの場所に集まって、1つのタスクに取り組み、ツールを使用するが、その使用方法を知らない人々のグループは、まだ何もすることができません。 たとえすべてがPHPで、たとえばPhyton、Java、またはすばらしい言語で書かれていてもです。 このフレームワークにあまり精通していない場合、すぐには成功しません。 さらに、しばらくして初めて使用する機器でうまく開発できていることを理解できます。 または、これらの問題について何らかの専門家が既にいる場合は、彼を訪ねに行きました。 したがって、コミュニティーがあり(それらについてはもう少し詳しく説明します)、本当に節約できます。















多くの顧客が特定のフレームワークを必要とするという神話がまだあります。彼らは、フレームワークで書かれたものが標準化され、すべてがクールに動作し、すぐに動作し、人々を簡単に見つけることができると確信しています。 さらに、チームは特定のフレームワークのために直接チームを編成します。 これらの会議を主催するBunin Olegは、負荷の高いプロジェクトを開発するためのスタジオを持ち、長い間Perlのフレームワークを持っていました。 Perlでプログラミングした人はいますか? 私自身はPerlでプログラミングしました。 また、Perlでプログラムされた独自のフレームワークもありました。 ですから、彼が人々に与えたこの共有をサポートするために、彼らはPerlで開発者を探す必要がありました。Perlはご存じのように、書くための言語であり、読むための言語ではないからです。 つまり 他のPerl開発者が書いたことを読むのは非常に困難です。 カスペルスキーには健全なアクティベーションシステムがすべて書かれていて、そこで4年間働いていましたが、前の著者を最後まで読むことを学んだことがなく、場合によっては彼に行って「これは何ですか?」







まだmodがあります。 ファッションは、フレームワークだけでなくIT全体にも当てはまる恐ろしいものです。 ある人がおなじみのIT'shnikに来て、「あなたは今、市場でクールなものを聞いていますか?」-「それは市場でクールです-それです。」 彼は言い​​ます:「ああ! これが欲しい。」 カーテン。 涙、泣き、悲しみなど















概して、男はこれが本当に機能するためにこれを必要とします。彼は他に何も必要としません。 彼はこれをシンプルなソリューションにする必要があります。







私が強調した無関係なものがまだたくさんあります:















もちろん、フレームワークは、すぐに使えるものを取得できないため、良くありません。 まあ、あなたは収穫機を見つける可能性が低いからです。 ユニバーサルハンマーを製造する工場の工場に関するHabréのシックな記事を読んだ人はいますか? これはほぼ同じです。 当然、人類は普遍的な何かをしたいので、誰も普遍的な何かを必要としないことを理解しています。 ユニバーサルなものを構築するためのメカニズムを作り始め、次にビルドを構築するためのメカニズムなどを作り始めます。 これは悪循環です。







別のフレームワークがすでに方法を知っている場合、これも悪いです。 そのため、たとえば、生まれようとしているものはすべて、多かれ少なかれ深刻な言語になっています

実際、プログラミングは存続することはありません。なぜなら、「すべてがすでに私たちの前に行われている、それを何に使うか、あなたはそれに慣れる必要がある」などです。







当然、何かはうまくいきません。 まさにこの「そう」はできません。 彼らが言うとき、これは永遠のホリバーです:「そして、ここにはアクティブディレクトリが必要です。これは、activではなく、直接SQLクエリを通じて、このように、すべてがクールで、メモリが保存され、すべてが素晴らしいです...」 はい、これはすべてでたらめです。 誰もが同じことをします。 プラスまたはマイナス。 特殊なソリューションがあり、特定のソリューションに合わせて調整されたベンダーソリューションがあります。







そして最後のポイントは、これは本当に苦痛です。















マネージャーとして話しています これは、長い間座っている強力なエンジニアがいる場合の最大の問題であり、彼はすでにこれについて非常に多くのプログラミング方法を知っており、最終的には「あなたが提供するのはすべてゴミです」。 そして、例えば、彼のフレームワークではなく、彼のフレームワークなどを彼に説明してください。 -これは非常に困難です。多くの実際の選択基準があるため、今からそれらを検討します。















すべてを選択する方法は? もちろん、多くのタスクがあるため、特定のレシピはありません。 それにもかかわらず、注意を払うことが理にかなっています。















これは、まず第一に、コミュニティであり、あなた自身のために、一般的に、強さを持っています。 コミュニティはすべてオープンソースです。 私も独自のソリューションについて話しているわけではありません。 商用のフレームワークがあり、それらには数十億ドルの費用がかかり、サポートには数十億ドルの費用がかかります。 しかし、それでも、実際にはそうです。 商用CMSのように。 私はBitrix 24を考慮していません。もっと太い話をしています-オランダ人もいます... Kasperskyがしばらく紹介した作品があります。 C#。それ自体が1つの大きな大胆なフレームワークです。 .Netおよびその他すべて。 しかし、このソリューションは市場でどのくらい人気がありますか? 自分で選択した名前でGoogleで何も見つからなかった場合、これはもちろんクールでクールな決定的なステップですが、ドキュメントが見つからないため、ユーザーを見つけることができないため、ほとんどの場合は機能しません。 。 一般に、これは大きな問題になります。







市場はどのくらい重要なものでしたか。 誇大広告とは何か聞いたことがありますか? 積極的な広告について。 つまり Googleが1年間市場に流出していないソリューションの最初の行に突然表示された場合、サイトはこれらの販売サイトの形で作成され、スクロールしてスクロールして「ダウンロード」します。 これらは長いです。 ほとんどの場合、これも何らかのゴミです。 または、以前のオフィスで働いていたときに書いた以前のスーパードゥーパーファッションフレームワークのすべての問題を解決する新しいスーパードゥーパーファッションフレームワークを作成したのは、Javascriptの人物です。 または、それは何らかのゴミです。







あなたの経験は非常に重要です。 以前に複雑なものをプログラミングしたことがない場合は、釘を掘ってハンマーで打つことができるこのドリンを取り上げると、それだけで失敗する可能性が高くなります。







そして時間。 このすべてを掘り下げる準備ができているか。 なぜなら、私は他の言語については言いませんが、たとえばPHPでは、人がプロセスの本質に入る速度に関してフレームワークの明確なグラデーション(プラスまたはマイナス)があるからです。 Yiiの開発者の1人であるマカロフサーシャは、たとえば、YiiがSymfonyにアクセスするよりもほぼ数倍高速で直接アクセスできると主張しています。 このことも重要です。なぜなら、それをカットする必要があるか、すぐにそれを実行して掘る必要があるからです。

ランニングと掘削には本当にクールなことがあります。たとえば、本当に、本当に、本当に、本当にオンラインストアが必要な場合、非常に、本当に、本当に、本当に速く購入できます。 そして、一般的には書かないでください。 そして、あなたがそれをほどいている間に、あなたはあなた自身のものを書きます。 それにもかかわらず、勉強する時間がない場合、なぜ一般的に、なぜそれを取るのですか?















開発プロセス。 一般に、このことを何年間サポートする予定ですか? 一般に、各フレームワークは、DNSの存続時間と同様に、オープンソースソフトウェアと呼ばれます。 この事が潜在的にサポートする準備ができている時間。 誰かがこれを発表する、誰かが発表しない、誰かが示す、誰かがしない。 どこかで、「2016年12月30日にこれをリリースしてから、これとこれをリリースする」ときのように、大人の場合と同様に明確なタイムラインがあります。 これは、製品が高品質であることを示しています。 男が見ただけで何も言わない場合、この製品は非常に高品質ではありません。 しかし、上位5〜10を取得した場合、それらはすべて同じ方法でプラスまたはマイナスで発表されます。別の質問は、誰もこれらの条件に従っていないということです。







オートメーション、ドキュメント、スタイルライブラリ、つまり たとえば、Bootstrapサポートが箱から出されているところ、Bootstrapサポートが箱から出されているところなどです。 すぐに何かを「ひざの上で」行う必要がある場合は、もちろん、Bootstrapのサポートで持っているものを手に入れる方が楽しいでしょう。既に存在しているので、手に入れる必要はありません。







その他の統合。 既に多数のライブラリ、既製のコンポーネントのライブラリを記述したフレームワークがあります。















概して、それらのバルク、およびこれらのバルクのリポジトリ全体でさえあり、見ることができ、評価さえあります-GitHubで星を数えることができます。 これは、選択プロセスで考慮する必要があるものです。 たとえば、フレームワークを取り、そのアドオンをいくつか取り、簡単な小さな顔をねじ込んで、すべての問題を一度に解決することができるなら、これが医師の指示通りです(私の観点から)。 あなたが夜に検索することを余儀なくされた場合、グーグルはあなたをただ追放し、あなたがボットであると言い、例えば「フレームワーク」という単語のキャプチャを表示するような方法でグーグル、そしておそらく、何かが正しくない。















テストも非常に重要なポイントです。 すべてのフレームワークが同じユニットテストの対象となるわけではありません。 それを簡単にそして素晴らしくサポートするフレームワークがあります、あなたが顔をしかめるであろうものがあり、一般に、すべてを別々に書くのが簡単です。 JUnit、PHPUnitなど、あらゆる種類のユニットがあります。これらはすべて既に結び付けられています。 何もする必要はありません。 これはすでにすべてです。 あなたが書いたコードのテストが難しい場合、すなわち たとえば、コードをテストするためにコードを書くよりも労力が必要な場合、なぜそのようなナンセンスが必要なのでしょうか? 彼女とはどうする? もちろん、あなたがmail.ruのようなものではない場合、たとえば、多くのテストを行う余裕のある大きなテスト部門を持っている会社です。 ほとんどの場合、テスト部門にいるのはあなただけです。 あなたはテストエンジニアではありませんが。 さて、すべての疑似危機などを考慮に入れて それでも、人々はできる限りテストを節約します。















パフォーマンスとデバッグ。 これらの質問はすべて、何かを選択する前に確認する必要があります。 ほとんどすべての言語、すべてのフレームワークにベンチマークがあり、たとえば、PythonピラミッドはPythonピラミッドよりもはるかに高速に動作することを示しています。 これがあなたにとって重要な場合は、選択してください。







後方互換性はありますか? たとえば、PHPで同じYiiを使用して何をしましたか。 1 2. , , 1 2, 2, . , , - Symfony , , , .







, , , . Python — «» «» - . , API . , , xml, json. つまり , xml, — json.







これに対処する方法は? — , , , . .







, , , . , , .

, . , , , , , . . . , , - , , , json , , .







— - ? - , - - world of tanks, - , - .. , , ?







, : «, , , ?». , , .







, , «» , - , Yii 1-, Yii 2-, , Yii Symfony. , , , Symfony ( PHP-), , , . . , — . . out source , «», «», , «» , «». , . .















, , . つまり — . , . , , .















, . , . , , , , , - «react», , , - — - .















, .







. , -, , , .., , , .















— , , . n, n .

, n 20, . , 20 , , , , , .







. - , - , , , . ?



, . , , «» . , Windows XP. , , , .. , Internet Explorer 8. IE 8 2. , - , . XP, , NT -. , , - , . — . つまり XP, , - . , .















. :















, , .







, . , — -- , .







, Symfony. , Symfony. , , . , , , , , 15. , . , , — , , , . , .







, , — , , . - AB Apache — , , , , , .







— . , , profit , . , , , 24 - .







, . , , , . , . , , — , , , .







profit — , , .. .







— , — - . , , , , , , , . . , , , . , , …







. — , , 500 , — , , . … — , , . , — , . つまり , , . PHP 7. , Badoo , . , , . 5.3 5.6 , .. 30% . , 60% .

























フレームワークが非常に多いため、すべてを詳細に研究するのに十分な時間はありません。選択方法 使用する基準は何ですか?探索する価値があり、表示のみの価値があるものは何ですか?







このトピックについては、9月6日にローマのウェビナーで引き続き調査します。このウェビナーを聞いた後、ハイローダー開発の世界をうまくナビゲートし、スペシャリストとして自分の開発の方向と順序を選択し、自己開発のために必要かつ最も効果的なイベントのリストを準備できます。








All Articles