|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/learning-electron/
课程评论:没有评论
课程名称:学习Electron:使用JS+HTML+CSS构建桌面应用程序 课程概述: Electron是一个帮助开发者使用现有网络技术开发跨平台应用程序的框架。开发Electron应用通常不需要特殊技能,尤其适合有网络开发经验的开发者。借助Electron,您可以更轻松地开发可在所有主要平台上运行的应用程序。许多流行应用(如Visual Studio Code、Slack和Atom Editor)都是基于Electron构建的。 课程涵盖的主要内容包括: 1. **安全性**:在应用程序迁移到Electron时,您无需过多考虑数据安全问题,因为数据存储在本地系统中。在需要云存储的情况下,确保云网络具备足够的安全功能。 2. **低级访问性**:Electron提供了对桌面应用的丰富控制,包括键盘快捷键和对硬件及操作系统组件的低级访问。 3. **硬件访问**:开发者可以对所有硬件级别的API进行完全访问,无需妥协功能。 4. **性能**:如果在开发过程中妥善管理(仅加载必要内容),Electron的性能可以媲美本地应用程序,节省时间并提供多种开发选项。 5. **代码和应用管理**:作为产品负责人,不再需要维护多个团队,减少了在各个平台之间重新解释需求的困扰。开发者可以在单一代码库中修复Bug,无需担心不同平台的代码基。 6. **重用性**:使用单一代码库意味着可以同时用于网络和桌面应用,支持“编写一次,随处分发”的理念。 7. **生产**:使用更知名的框架可以获得更多支持,降低生产时间并保证更多功能的实现。 8. **部署/构建**:Electron提供electron-packager模块来打包代码库,尽管存在对内存占用的争议,但只要在开发中加以注意,可以避免相关问题。 9. **UI/UX**:使用网络技术可以实现多个优秀技术,为用户提供良好的界面和体验,并在各种平台上确保一致性。 10. **成本和时间**:相较于传统开发,使用Electron可以节省大量开发时间和费用,因为有很多开发者能够以较低的成本实现良好的成果。 11. **Electron的历史**:Electron由Cheng Zhao创建,最初用于开发跨平台文本编辑器Atom,并于2013年开源,由GitHub支持。 本课程适合希望利用Electron开发跨平台桌面应用的开发者,无需复杂技能即可上手。
Electron helps us develop cross-platform applications by using existing web technologies. You don't need specific skills, for most cases, to develop apps with Electron. If you are a web developer and are interested in developing an app with Electron, then make sure you check out tutorials that will follow this article in this series.If you want your application to be available for all the platforms we talked about, you need to deploy your app using different technologies. This is very manual and time-consuming. Now, if we talk about Electron, it is obvious that this is a JavaScript-based framework. Because all the platforms support web technologies, Electron helps in developing cross-platform apps easier. Popular applications that use Electron include Visual Studio Code, Slack, and Atom Editor.Electron FeaturesSecurityYou don't need to think much when migrating your existing application to Electron as the application we are creating is a desktop application and data stays locally in the system. Because of this, you can ensure data security. In case you need to store data in the cloud, check whether your cloud network has enough security functions beforehand to avoid any unwanted surprises.Low-Level AccessibilityBefore starting out, you also have to check whether all the functionalities you are providing for your desktop application are also available in Electron. In my experience, Electron provides enough control to have the extended interactive features in your application, such as Keyboard Shortcuts. It also provides low-level accessibility to the hardware and operations system components.Hardware AccessibilityDevelopers can get complete access to the all hardware level access APIs expose over the JavaScript/Plugin. There is no need to compromise for the feature if you want to migrate to Electron.PerformanceElectron thrives in this aspect. If proper care is taken while developing (load only what you need), Electron can show some great gains in the terms of performance when compared to native applications. Electron saves a lot of time and provides more options to play with or develop by having a single code base for all the major platforms. These are the major problems when we deal with the native development of applications, which are all effectively solved by Electron.However, a lot of people say that Electron is very memory hungry. I agree with this statement, but only if you develop the applications without proper care.Code and App ManagementAs a Product Owner, you don't need to maintain different teams for each platform and you will be relieved from the hassle of re-explaining your requirements with different teams. It will also reduce the auditing work to make sure the product has the same functionality across platforms.As a developer, you need not worry about different codebases. If you encounter a bug on any platform, you can fix it at the code base. The bug will never show up on other platforms. However, you should still keep an eye on the OS level functionalities.ReusabilityBecause we are using a single code base, it means we can use this for both web applications and desktop applications. We are, in a way, also reusing the base code across different platforms since we "code once, distribute everywhere."ProductionThe more known frameworks we use, the more support we get. This, in turn, gives us more open source libraries we can reuse and the decreased time to production but with more features.Deployment/BuildThis is one of the interesting aspects of Electron. There is an electron-packager module available that helps us bundle the whole code base into the respective packages. Although people debate that Electron takes a lot of memory, as I said, Electron needs a little care during development to avoid this.UI/UXWith web technologies, you are open to multiple technologies that provide great User Interface (UI) and User Experience (UX) to all your users with great comfort. Also, you can be sure that you are providing the same experience to all your users across different platforms.Cost and TimeYou will save a lot of development time and money because, for the tech stack we use, there are a lot of developers who can do it for less and achieve good results. You can save a lot of time using the single code base and any developer can work on anything.History of ElectronWhen we talk about any technology we need to talk a little about the history behind it. Let's briefly look at the history of Electron.Electron was founded by Cheng Zhao, during the development of Atom a cross-platform text editor released in July 2013. It was made open source, developed, and supported by GitHub using C++, JavaScript, Objective C, and Python. It was intended to make cross-platform development easier for Atom creation.