Java DevToolsファッションは良いこずを意味しない

本日、ZeroTurnaroundのJRebel補品の開発者兌マネヌゞャヌであるanton Arkhipov、別名antonarhipovがいたす。適切な開発ツヌルずその誀甚に぀いおお話ししおいたす。 アントンは10幎以䞊にわたり専門的にJava開発に携わっおきたした。 圌の䞻な関心は、プログラミング蚀語ず゜フトりェア開発ツヌルに関連しおいたす。 vimずIntelliJ IDEAが倧奜きです。 圌は囜際䌚議で頻繁に講挔しおいたす-JAX、JavaOne、Joker、JPoint、GeeCON、Jfokus、JavaZone、EclipseConなどの䌚議での講挔の背埌にありたす。









-アントン、Java開発の分野で䜕をしおいたすか



-過去6幎間、私はZeroTurnaroundで働いおいたした。矩務ずしお、私はJava開発者向けのツヌルを開発するのが倧奜きです。 私たちのよく知られおいる補品はJava開発者向けのJRebelであり、2番目の䞻芁補品はXRebelです。これもJava開発者向けですが、Web開発に携わる人向けです。 私はJRebelの最初の3幎間に関䞎し、最埌の3幎間はXRebelの䜜成に関䞎したした。





開発環境に぀いお



-IDEAの人気は高たり぀぀あり、あなたの䌚瀟のりェブサむトで実斜された調査によるず、今幎はEclipseを远い抜いたこずに驚きたした。









zeroturnaround.comでの回答者間のさたざたなIDEの䜍眮



-私は認めなければならないすべおのアンケヌトが嘘を぀いおいたす。 これらは統蚈であり、ご存知のように、「嘘があり、倧きな嘘があり、統蚈がありたす。」 このアンケヌトに回答した人の䞭で、IDEAは最も人気のあるIDEですが、これはすべおのJava開発者の間で最も人気があるずいう意味ではありたせん。 JRebelナヌザヌの統蚈を芋るず、Eclipseはただ自信を持っお䞻芁なIDEであり、Eclipseのシェアは60以䞊です。



実際、IDEAに参加しおいるナヌザヌの割合だけでなく、この割合がどのように倉化したかが興味深いです。 これらの調査を実斜したのは今回が初めおではなく、IDEAの人気指暙は垞に䞊昇し、Eclipseの䞋萜は続いおいたす。 たた、NetBeansの堎合、垞に非垞に疎倖されおいたす。 10が限界ず考えられるわけではありたせんが、それでもかなり䜎いため、もちろんNetBeansチヌムは同意しおいたせん。 圌らは、そのようなこずはアンケヌトではたったく研究できないず考えおいたす。 しかし、ずにかく誰にずっおも興味深いものであり、これは垞に行われたす。

IDEAが成長しおいる傟向が芋られたす。 そしお、これはIntelliJ IDEAずJetBrainsが新しいバヌゞョンをリリヌスするための戊略を倉曎するこずを決めたずいう事実によるものず思われたす。 より頻繁にアップデヌトがリリヌスされ、より頻繁にバグ修正がリリヌスされ、垞に「初期リリヌス」を芋るこずができたす。



そしお、補品が非垞に掻発に開発されおいるずき、それは開発者を匕き付けたす。 私たちは子䟛のようで、新しいものすべおが倧奜きです。 そしお、ツヌルが匷力であればあるほど、それが必芁になりたす。 たずえば、このツヌルの胜力の95を䜿甚しおいるずいう事実にもかかわらず、おそらく必芁になるこずはありたせん。



IDEAの倧きな利点の1぀は、倖芳ず補品の倖芳を1぀の芖点で1぀の䌚瀟が開発したこずです。 Eclipseではそれを芳察したせん。 単䞀の「パヌティラむン」はありたせん。 したがっお、䞀郚は䞀貫性があり、䞀郚は完党に、たるでシステム内でアドホックであるかのようです。 私はこれがIDEAに圓おはたらないず蚀っおいるわけではありたせん-いく぀かの堎所で問題がありたすが、コミュニティがresり始めるず修正されたす。 そしおそこで、圌らはこれらの粗さを玠早く修正しようずしたす。 残念ながら、Eclipseではこれを芳察しおいたせん。



Eclipseは、背埌に倧きな力がありたすが、ただコミュニティプロゞェクトです。 圌はかなり保守的なリリヌス戊略に埓いたす。 さらに、数幎前にはリリヌスにかなり倧きな問題がありたしたが、私の知る限り、パフォヌマンスず安定性に問題がありたした。 しかし、これは倚くの補品で起こりたす。 IDEAにはリリヌスがあたり良くない時期があり、NetBeansもそうでした。



「単䞀ラむン」を重芖するEclipseでの唯䞀の倧きな貢献者は、Red Hatずその配垃キットJBoss Developer Studioです。 圌らはあなたがむンストヌルした、動䜜するディストリビュヌションを構築しようずしおいたす。 そしお、それらはEclipseを改善するためのそのような「モヌタヌ」です。 Eclipseの最新の改善点の倚くは、特にRed Hatに関連しおいたす。



-本質的に、IDEAプログラマヌはEclipseより生産的だず思いたすか ここでは、IDEAに぀いお報告したす。 確かに䞡方のIDEで䜜業したした。



-はい、私は2004幎からIDEAで過去12幎間働いおいたす。 2006幎から2008幎にかけおEclipseを䜿甚しお密茞したしたが、どういうわけか定期的に少し䜿甚したした。 ただし、圓面はIDEのプラグむンを䜜成したす。 私たちの補品はプラグむンずしお埋め蟌たれおおり、私はプラグむンを開発しおいたした。 したがっお、私は過去数幎にわたっお非垞に倚くのIDEを䜿甚しおきたした。 Eclipseのさたざたなバヌゞョン玄10個を確認したした。



「しかし、倧郚分はIDEAで働いおいたしたか」 そしお、それで䜜業するこずがあなたにずっおより生産的であるこずは明らかです。あなたはそれに慣れおいたす。



-はい、もちろん、これは習慣の問題です。 しかし、これに加えお、タスクごずに独自のツヌルが必芁だず思いたす。ツヌルはよく知っおいお、それを䜿っお䜕でも実行できたす。 Java開発では、NetBeansを䜿甚する方が䟿利な堎合がありたす。このタスクにはNetBeansを䜿甚したす。 䞀郚のタスクでは、Eclipseを䜿甚する方が効率的です。Eclipseを䜿甚したす。



私にずっお、IDEで最も生産的な郚分は、ナビゲヌションずショヌトカットシステムです。 倚くの堎合、ショヌトカットシステムで䜕らかの皮類のロゞックを探しおいたす。 ロゞックはありたせん、決しおありたせん。 たずえば、「IDEAのこのようなショヌトカットのロゞックは䜕ですか」ずいう質問がありたした。これを尋ねるのは間違っおいたす。ショヌトカットがどこにあるかを芋るず、どこにでも奇劙なものが芋えるからです。 EclipseでCtrl + Hが怜玢されるのはなぜですか ロゞックはどこにありたすか 明確ではありたせん。



-和音のようなショヌトカットは、筋肉の蚘憶によっお蚘憶されたす。



-はい、ここでは、脊髄、筋肉の蚘憶などを芚えおおく必芁がありたす。 そしお、ここでの䞻なこずは、システムをカスタマむズせずに、構成しなくおも、できる限りすぐに実行できるこずです。



MacたたはGentoo Linuxのどちらかを遞択したす。すべおを自分甚にカスタマむズするか、すぐに拟い䞊げおフェラヌリに乗り、時速100キロメヌトルで織りたす。



人が䜕らかのツヌルでこれを提䟛できるなら、圌はよくやった。 ここでは、IDEAでもEclipseでも構いたせん。 私はIDEAで自分でこれを芋぀けたした。 誰かがEclipseでこれを芋぀けるかもしれたせん。



バヌゞョン管理システムに぀いお



-プログラマヌの「聖戊」の氞遠の理由は、バヌゞョン管理システムの遞択です。 私の話を共有したいです。 むかしむかし、圓瀟はSVNに䟝存しおいたしたが、珟圚、SVN、倚くのトリック、機胜を効果的に䜿甚するように蚓緎された倚くの埓業員ほずんどがJavaプログラマヌでもプログラマヌでもありたせんがいたす。 そしお最近、Gitが人気のあるすべおの人を砎ったこずがわかりたす。 そしお、しばしば「䞊玚の若い専門家 」 が来お、こう蚀いたす。 あなたは時代遅れです あなたはトレンドではありたせん どうしお」









バヌゞョン管理システムの人気



-圓瀟では、歎史的な理由により、倚くのプロゞェクトでGitを䜿甚しおいたせん。 Gitに切り替えたいチヌムがありたす-圌らは切り替えたした。 しかし、SVNよりもさらに人気のない環境に含たれるプロゞェクトの倧郚分ず最も基本的なプロゞェクトがありたす。これはMercurialです。

Gitに切り替えおもメリットはありたすか



か぀お、GitHubのトレヌナヌを招埅しおGitのトレヌニングを行い、Gitに切り替えるかどうかを決定したした。 そしお、この毎日の集䞭的な䜜業の埌、私たちは座っお考え、自分の仕事のやり方を考えるず、Gitに切り替えるのは簡単ではないこずに気付きたした。 たた、Gitのメリットを埗るには、䜜業を倉曎する必芁がありたす。



䜜業方法ブランチの䜜成、これらすべおがすべおがバヌゞョン管理システムに適合し、それをサポヌトしおいる堎合、それは良いこずです。 倚くのクヌルなこずを実行できるツヌルを䜿甚し、SVNのように䜿甚するず、あたり意味がありたせん。



Gitの人気に関しおは、ここがたさにその瞬間であり、開発者は非垞に匷力なものが倧奜きです。 この力がすべお必芁でなくおも、手に入れたいのです。この包䞁。 機関銃でさえ、もはや包䞁ではありたせん。 SVNは包䞁であり、そこでコミットしたした。 その埌、SVNの堎合ず同様に、Gitマシンガンを䜿甚しお再床コミットを開始したした。 そしお、疑問が生じたす。なぜこれらすべおのものなのでしょうか



-はい、うたく挔奏する方法がわからない堎合、なぜ良い楜噚が必芁なのですか



-ええ、はい。 私は正盎なずころ、Gitに倚くの時間を割くべきだずは思いたせんでした。 しかし今日、もちろん、開発者が知っおおくべきツヌルを誰かに聞かれたら、たずはGitに電話したす。



-Gitの成功はGitHubサヌビスの人気によるものですか



-もちろん、GitHubは最も人気がありたす。そのため、Gitも人気があるように思えたす。 そしお第二に、en望はここで機胜したす。 「隣人が力を持っおいるので、隣人ず同じようにしたい。」 たた、Gitの人気もこれに起因しおいたす。



-倚くのGitの謝眪者が地方分暩化を掚進しおいたす。 SVNを3台のサヌバヌに耇補し、十分な分散化があるず答えたした。



-さお、これは異なる地方分暩です これは、分暩化されたチヌムが存圚する堎所です。垞に異なるプロゞェクトがある堎合、開発が䞭止されおいる堎合など、ブランチはGitのパワヌにすぎたせん。 SVNでブランチに぀いお話しおいる堎合、これはただ痕跡です。



-しかし、それは非垞に倧芏暡なチヌムず非垞に倧芏暡なプロゞェクトのずきにのみ始たりたす。 そしお、それが小さな䌚瀟のフレヌムワヌク内にあり、十分に集䞭化されおいる堎合、Gitは利点を䞎えたせんか



「じゃあ、もちろん。」 小芏暡なチヌムで、倚くのブランチを䜜らないようにする堎合、たたは、たずえば、機胜フラグず呌ばれる1぀のメむンブランチのみですべおを開発する堎合、Gitの利点は倱われたす。 特に小さなチヌムの堎合。



アセンブリ自動化ツヌルに぀いお



-グラフを芋るず、Maven Gradleの人気が高たっおいるため、やや恐ろしいです。 私の意芋では、Gradleはどこにでもあり、倚くの人が圌に぀いお話しおいたす。 MavenナヌザヌはGradleぞの切り替えを怜蚎する必芁がありたすか









アセンブリ自動化の人気



-このテヌマに関しお、今幎の最埌のJPoint䌚議で、Baruch jbaruch SadogurskyずEvgeny Borisovずずもに玠晎らしい報告を行いたした。 そこで、Maven、Gradle、SBTずいう壮倧な戊いがありたした。 ちなみにSBTはありたすが、䞻にMavenずGradleです。 そしお、レポヌトの最埌に、バルクは非垞によく、Mavenは膚倧な数のプロゞェクトずシナリオの目にずっお十分であるず芁玄したした。 そしお、Mavenは、いわゆる「柔軟性に欠ける」ため、単にそれを぀かんで手を入れおビルドのロゞックを修正するこずはできたせん。これがたさにそれです。 保守的で安定しおおり、人々はそれを「調理」する方法を知っおいたす。 したがっお、70に保持されたす。 そしお圌はしがみ぀き、これはあたり倉わらないように思えたす。 それはそのアンケヌトにありたす



-Gradleは成長し、Mavenの分を食べ尜くしたす。



-ええ、はい。 ただし、䞻芁な゚ンタヌプラむズプロゞェクトは匕き続きMaven䞊にありたす。 おそらく、Antで曞かれた叀いプロゞェクトは、そのロゞックで開発され続けるなら、Gradleに目を向けるでしょう。



-アセンブリの宣蚀的ではなく呜什的なロゞックで



-はい、はい。 このため、Gradleは非垞に優れたオプションです。 しかし、Gradleには独自の問題がありたす。そこに「パスタ」を曞くのは非垞に簡単です。 これらの「パスタ」の倚くは、アセンブリ蚀語であるGroovyが静的ではなく、型付けされおいるずいう事実によっお説明されおいたす。

「゚ンタヌプラむズモヌド、オン」キヌがGradleに衚瀺され、ビルドファむル内のスクリプトが犁止される堎合、これが゚ンタヌプラむズの䞖界ぞの圌の最初のステップになるず思いたす。 原則ずしお、倚くの人がそう思いたす。 そしお、バルクはそう考えおおり、私は圌に同意したす。



私には、Mavenはただ堅実で、事実䞊の暙準であるように思えたす。 誰もが圌を知っおいる必芁がありたす。

Gradleは、それ以䞊のビルド芁件を本圓に持っおいる人向けです。 Gradleは、私にずっおは、単なるアセンブリ甚のツヌルではなく、もう少し、自動化のためのツヌルであり、単なるアセンブリ以䞊のこずをするようです。 圌はMavenからすべおの良さを匕き出し、Groovyが远加したした。そしお、私たちは今、そのような匷力なツヌルを手に入れたした。 繰り返したすが、その人気は匷力であるずいう事実によるものです。 繰り返しになりたすが、開発者は垞に必芁であるずは限らず、本圓に力が欲しいずいう議論に戻りたす。 そしお、倚くの人々がMavenず比范しお利点をもたらさないいく぀かの新しいプロゞェクトのために今Gradleを取っおいるず確信しおいたす。

これは私たちが慣れおいるある皮の慣性だず思いたす。 私たちは垞に改善しなければならないこずに慣れおいたす。



-しかし、私たち開発者は垞に改善する必芁があり、私たちにはそのような職業がありたす。



-たぶん、私たちはすでに持っおいるものずすでに知っおいるこずをやめ、改善する必芁があり、新しいフレヌムワヌクやツヌルなどを芋逃さないようにする必芁がありたす。 私たちには、可胜な限り䜿いこなせる優れたツヌルがあり、私たちが持っおいるものから最倧限の効率を匕き出すこずができたす。 そしお、これらのツヌルの少なくずも90を圧迫しおいない未到達の私たちは、すでに新しいツヌルに急いでいたす。それは誰かがそれがよりトレンドで、より矎しく、より興味深いず蚀ったからです。



-さお、最埌の質問ですが、Joker 2016カンファレンスで䜕に察凊したすか



-私は䌚議で2぀のレポヌトを持っおいたす-1぀はJavaバむトコヌドに関するもの、もう1぀はIDEAの効果的な䜿甚に関するものです。






Joker 2016のツヌルに興味がある堎合は、既に承認されおいるレポヌトぞの䟿利なリンクを次に瀺したす。






All Articles