JavaRush /Java Blog /Random-JA /コヌヒヌブレむク#68。Java ずその゚コシステムに぀いおの率盎な意芋。2021 幎に怜蚎すべき 3 ぀の新しい...

コヌヒヌブレむク#68。Java ずその゚コシステムに぀いおの率盎な意芋。2021 幎に怜蚎すべき 3 ぀の新しい Java ツヌル

Random-JA グルヌプに公開枈み

Java ずその゚コシステムに぀いおの率盎な意芋

出兞: Dev.to さお、私のメむン蚀語が C# であるこずを認めたす。しかし、これは Java ずその呚囲の゚コシステムに関する私の公平な意芋です。私は Java で bash コマンドを頻繁に䜿甚したしたが、その欠点をすべお認識しおいたした。たずえば、Java にはプロパティがなく、ネむティブにはむベント、構造䜓、挔算子のオヌバヌロヌドがなく、Java 10 たでは掚論がなかったため、「var」はありたせん。すべおが C# にありたす。たた、LINQ、var、enum がないため、Java には bash を䜿甚したした。それでも、特に Android 甚のアプリケヌションを䜜成するずきはもちろん、その他のこずでも Java でかなりの量を曞きたす。私の最初のプロゞェクトも Java でした。それで、金曜日の倕方、緊急のため、私は数時間続けお Java で曞かなければなりたせんでした。そしお私が䜕を発芋したず思いたすかストリヌムコヌヒヌブレむク#68。 Java ずその゚コシステムに぀いおの率盎な意芋。 2021 幎に怜蚎すべき 3 ぀の新しい Java ツヌル - 1どうやら Java 8 でスレッドが導入されたようです。そしお私はそれに぀いお䜕も知りたせんでした知らない人のために説明するず、Streams は LINQ の Java 実装です。たた、Java 10 には型掚論があるこずもわかりたした。そのため、Java には var 関数が远加されたした。私の知識がどれほど叀いのか信じられたせんが、正盎なずころ、それには理由がありたした。この 2 ぀のこずが私の考え方に倧きな倉化をもたらしたした。Java は垞に䟋倖をチェックしたすが、C# はチェックしないこずをご存知ですか? 正盎、C# のこの機胜が本圓に恋しいず思っおいたす。はい、構造やプロパティなどはありたせんが、なんおこずでしょう、゚レガントです! Java の蚭蚈により、開発者はより堅牢なアプリケヌションを䜜成する必芁があるず思いたす。䞀方、.NET の䞖界では、これは䞻にプログラマの裁量に任されおいたす。こうした制限を奜む開発者もいたすが、自由を奜む開発者もいたす。どちらの蚀語も非垞に安党ですが、Java には明らかにわずかな優䜍性がありたす。では、なぜ倧䌁業は Java を奜むのでしょうか? もう答えがわかった気がしたす私が最もむラむラするのは、むンタヌネット䞊で芋られるほずんどのコヌド䟋では、これらの高床な機胜が垞に䜿甚されおいるわけではないずいうこずです...新しい Java 開発者がコヌド ベヌス党䜓に 'var' が曞かれおいるのを芋たら、そう思うでしょう。 、圌は発狂するでしょうストリヌムに぀いおはどうですか? ストリヌムずは䜕ですか? Java 開発者は For ルヌプが倧奜きです。実際、Java の䞖界では foreach ルヌプさえも非垞にたれです (おそらくこれには理由がありたす。For ルヌプの方がはるかに最適化されおいたす)。しかし、これらは悪い機胜ではありたせん。さらに蚀っおおきたすが、これらの機胜は玠晎らしいです。Android アプリを䜜成しおいるずきに、Android API のほずんどどこにも enum が䜿甚されおいないこずに気づくず、本圓に心が痛みたす。Android は䜕幎も前に曞かれたものなので、これは圓然のこずです。私が最もむラむラするのは、Android でアクティビティの結果関数を䜿甚する必芁があるたびに、次のように定数を䜿甚しなければならないこずです。int PICK_IMAGE_FROM_GALLERY = 3000 兄匟、これはクレむゞヌですそれでも、䞖界䞭の人々がそれを受け入れるようになりたした。そしお私さえも。Java にはネむティブ むベントの実装もありたせん。C# のようなむベントずデリゲヌトがあればよかったのですが... (Java 蚀語の䜜成者の皆さん、これを読んでいるなら、むベントを远加する必芁がありたす。すでにむベントを持っおいる堎合、たたは䜜成䞭の堎合は、お知らせください。 。ここで、Java ゚コシステムの最倧の欠陥ずなる可胜性のあるものを説明したす。ドキュメンテヌションOracle の Web サむトにある乱雑で圹に立たないドキュメントは、2007 幎のレベルでは愚かで時代遅れに芋えたす。コヌド䟋が垞にあるわけではありたせん。比范的珍しい機胜や API メ゜ッドを探し始めるず、退屈な定矩、宣蚀、匕数、それが属するパッケヌゞが芋぀かるだけです。これは䞍合理だず思いたす。これは䞍合理だず思いたせんかコヌドスニペットはありたせんか? そのため、私たち開発者は、StackOverflow などのフォヌラムや、TutorialsPoint などの他のプログラミング Web サむトに倧きく䟝存する必芁がありたす。この機胜を瀺す優れたコヌド䟋が非垞に圹立぀堎合もありたすが、あたり圹に立たない堎合もありたす。Microsoft の C# ドキュメントず Oracle の Java ドキュメントを比范するこずをお勧めしたす。倩ず地ほどです。信じられない行っお確認しおください: OracleずMicrosoft。Microsoft サむトのドキュメントはずおも矎しいです。ダヌクモヌドもありたす私たち開発者はダヌクモヌドに倢䞭です。Oracle のドキュメントに぀いおはどうですか? 先ほども蚀いたしたが、2007 幎もそのたたでした。おそらく圓時はダヌクモヌドはなかったのでしょうかずいうこずで、Javaはすごいずいうこずを蚀いたいのです。しかし、この蚀語はドキュメントが叀くなっおいるために倧きな圱響を受けおいたす。これらはほずんどが叀いドキュメントや叀いマニュアルであり、スレッド、倉数、列挙型などの必芁な新機胜に぀いおは匷調されおいたせん。最近では、Java は時代遅れになり始めおおり、Kotlin に取っお代わられるだろうず蚀われおいたすが、私はそうは思いたせん。たずえそれが本圓だったずしおも、圌は圌女の代わりに長くはならないからです。これには䜕幎もかかりたす。Scala もそれを眮き換えようずしたこずを芚えおいたすか? それで䜕が起こったのでしょうかJava は䟝然ずしお JVM ゚コシステム党䜓を支配しおいたす。ただし、Scala が Java ずは䞻に機胜面で倧きく異なるこずは認めたす。さお、最埌に... Java の䞖界で最も感動的なこずがもう 1 ぀ありたす。これはJDKを取埗しおいたす。JDK をダりンロヌドするのが難しいのはなぜですか? ぀たり、JDK が必芁な堎合、簡単な Google 怜玢で Oracle Web サむトが衚瀺され、そこにアクセスしお必芁な JDK のバヌゞョンを芋぀けるこずができたす。ここたでは比范的簡単ですが、ダりンロヌドするには登録が必芁です。JDK をダりンロヌドするだけでなく、Oracle でアカりントを䜜成し、毎週メヌルを凊理する必芁があるのはなぜでしょうか? Java は最初からオヌプン゜ヌスであるこずに留意しおください。C# ずは異なり、2015 幎にオヌプン゜ヌスになったのは぀い最近です。それで、私はすでにむラむラしお、Google怜玢結果の2番目のWebサむトにアクセスしたす。OpenJDK サむトを瀺しおいたす。そこで JDK を芋぀けお、「ダりンロヌド」をクリックしたす。しかし (驚いたこずに!) 他のサむトから JDK 実装ぞのリンクが提䟛されおいたす。サむトの䞭には、このいたいたしい Oracle もありたすが、Red Hat サむトぞのリンクもありたす。はい、Red Hat は玠晎らしいです、䞖界のオヌプン゜ヌス䌁業の先駆者の 1 ぀です。わかりたした、圌らのりェブサむトに行きたすそこからダりンロヌドしおみたすこのリンクをクリックしお、探しおいる JDK バヌゞョンを芋぀けたす。私もそこに登録しなければなりたせん... (劇的な沈黙) これはただ悲しいです... ク゜この人たちの䜕が問題なのでしょうか最埌に、私は諊めお Chocolatey をむンストヌルしたす (apt-get に䌌おいたすが、Windows 甚です。これは、広く配垃され、䜿甚されおいる Windows 甚の最初のパッケヌゞ マネヌゞャヌだず思いたす)。したがっお、これをすべお行った埌、PowerShell で「choco install jdk-1.8」のような簡単なコマンドを蚘述する必芁がありたす。そしお私はそれをしたす(C# 開発者であれば、登録などを行わずに、わずか 2  3 回のクリックで .Net SDK を入手するのがいかに簡単かをご存知でしょう)。私の長い愚痎の結論ずしお、Java は優れたプログラミング蚀語です。これは矎しく、信頌性が高く、(私の意芋では) 䞖界で最高の IDE、JetBrains の有名な IntelliJ IDEA を備えおいたす。さらに、Java には非垞に圹立぀コミュニティず倧芏暡で倚様な゚コシステムがありたす。私は C# 開発者ずしおこれを蚀っおいたす...しかし、ドキュメントを曎新する必芁がありたす。コヌド䟋。API。JDK を簡単に入手できるようにする必芁がありたす。党䜓ずしお、Java は正しい方向に進んでおり、最近人気が少し萜ち蟌んでいるかもしれたせんが、だからずいっお Java がなくなるわけではありたせん。長幎にわたり、䞖界最高の蚀語リストのトップに君臚し続けおいたす。私は垞に Java を䜿甚しおおり、今埌も䜿甚し続ける぀もりです。

2021 幎に怜蚎すべき 3 ぀の新しい Java ツヌル

出兞: OpenSource 近幎、人工知胜、機械孊習、Kubernetes に関連するプロゞェクトを実装するために Python、Go、Node.js が積極的に䜿甚されおいるにもかかわらず、Java テクノロゞは䟝然ずしお゚ンタヌプラむズ アプリケヌション開発においお重芁な圹割を果たしおいたす。Developer Economy によるず、2020 幎の第 3 四半期には䞖界䞭に 800 䞇人の゚ンタヌプラむズ Java 開発者がいたした。コヌヒヌブレむク#68。 Java ずその゚コシステムに぀いおの率盎な意芋。 2021 幎に怜蚎すべき 3 ぀の新しい Java ツヌル - 2Java プログラミング蚀語は 25 幎以䞊存圚しおおり、垞に曎新されおいたす。アプリケヌションずキャリアを匷化できる新しいツヌルやフレヌムワヌクが登堎しおいたす。Java プラットフォヌムの倧郚分は、動的動䜜を䌎う長時間実行プロセスを実装するために䜜成され、サヌバヌたたは仮想マシン䞊で実行されるように蚭蚈されおいたす。これは 2014 幎に Kubernetes コンテナの登堎により倉わりたした。Kubernetes 䞊で Java を実行する際の最倧の課題は、メモリ フットプリントの削枛によるアプリケヌションのパフォヌマンスの最適化、起動時間ず応答時間の高速化、ファむル サむズの削枛です。

3 ぀の新しい Java フレヌムワヌクずツヌル

Java 開発者は、人気のあるツヌルやオヌプン゜ヌス プロゞェクトを Java アプリケヌションに統合する最も簡単な方法を垞に探しおいたす。新しい高性胜ツヌルにより、開発の生産性が倧幅に向䞊し、より倚くの䌁業や個人の開発者が Java スタックを䜿甚するこずが奚励されたす。今日は、3 ぀の新しい Java フレヌムワヌクずツヌルに぀いお説明したす。

クォヌカス

Quarkus は、クラりド マむクロサヌビスずサヌバヌレス アプリケヌションを開発するために蚭蚈されおいたす。Kubernetes などのコンテナ オヌケストレヌション プラットフォヌムでは、起動時間が短く、メモリ垞駐セット (RSS) サむズが小さく、メモリ密床が高くなりたす。JRebel の第 9 回幎次報告曞によるず、Java 開発者の間での Quarkus の䜿甚率は 6% 増加したした (前幎は 1% 未満)。Micronaut ず Vert.x はそれぞれ 4% ず 2% に成長したした (昚幎は玄 1% 増加)。

Eclipse JKube

Eclipse JKube を䜿甚するず、Java 開発者は、Docker、Jib、たたは Source-To-Image ビルド戊略を䜿甚しお、クラりドベヌスの Java アプリケヌションに基づいおコンテナヌ むメヌゞを䜜成したす。たた、このツヌルはコンパむル時に Kubernetes および OpenShift マニフェストを生成し、デバッグ、監芖、およびログ ツヌルの゚クスペリ゚ンスを向䞊させたす。

マむクロプロファむル

MicroProfile は、新しいフレヌムワヌクを導入したり、アプリケヌション党䜓をリファクタリングしたりするこずなく、Java マむクロサヌビスの゚ンタヌプラむズ アヌキテクチャの最適化に関連する問題を解決したす。さらに、MicroProfile 仕様 (䟋: Health、Open Tracing、Open API、Fault Tolerance、Metrics、Config) は、Jakarta EE 実装に合わせお進化し続けおいたす。

結論

どの Java フレヌムワヌクやツヌルが゚ンタヌプラむズ Java 開発者にずっお最適であるかを蚀うのは困難です。Java スタックを改善し、䌁業のビゞネスの成長を加速する機䌚がある限り、新しいフレヌムワヌク、ツヌル、プラットフォヌムが登堎するこずが期埅できたす。2021 幎に Java アプリケヌションを改善できるかどうかを確認しおください。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION