1、Building Nuclide Facebook Engineering ManagerSoftware Engineer Introduction and History Architecture Innovations Remote Development Introduction One IDE to Rule Them All Platforms iOS,Android,Web,React Native Supported Languages PHP/Hack,JS/Flow,Objective-C,C+,Python,OCaml,GraphQL Features OSS Remot
2、e development Source control integration(Git,Mercurial)Buck integration Debugger More History Before Nuclide 2013-2014 Web IDE Target:web development Zero install Cross-platform Web for web Remote development as the first citizen Cons:security was a challenge.History Birth of Nuclide In 2014-2015,Fa
3、cebook became a mobile first company.Intellij and Xcode did not scale for us.History-Nuclide Nuclide!Desktop IDE based on Atom OSS Familiar web technology and fast development cycle Growing package ecosystem Extensibility as first citizen Decision:merge the force,build feature parity on Nuclide Deve
4、lopment of Nuclide Core teams MPK:UI,Android Seattle:debugger,languages,source control Contributors Hack team,Flow team,GraphQL,etc.Anybody can contribute to Nuclide,even an intern.Why Nuclide for Facebook Whats special about Facebook?Remote development Multiple languages/projects in daily developme
5、nt Why Nuclide for Facebook One IDE to rule them all.Open platform.Tailored for Facebook.Deep integration with Facebook tool chain.Remote development.Introduction and History Architecture Innovations Remote Development Architecture Design Principles Electron vs Atom vs Nuclide Language services Debu
6、gger Nuclide Remoting Framework Technologies Stack(Skim)Design Principles Cross platform Remote development Extensibility as first citizen Repo vs Project:impacts search,scalability from beginning Architecture Overview Nuclide Atom package providing IDE features Atom Extensible editor based on Elect