没有合适的资源?快使用搜索试试~ 我知道了~
首页掌握Elm构建2018年Web应用:从入门到实践
掌握Elm构建2018年Web应用:从入门到实践
需积分: 10 4 下载量 64 浏览量
更新于2024-07-18
收藏 3.09MB PDF 举报
"《Web Applications with Elm -- 2018》是一本专著,旨在引导读者学习如何使用Elm编程语言和其开发环境来构建Web应用程序,特别强调了函数式编程在Web开发中的应用。作者是Wolfgang Loder,该书由Allitebooks出版,提供了电子版(ISBN-13: 978-1-4842-2610-0)和纸质版(ISBN-13: 978-1-4842-2609-4)供读者选择。 书中内容覆盖了从基础到进阶的学习路径,包括如何通过实际例子掌握Elm语言和相关库的使用。Elm架构作为核心教学内容,它提供了一种结构化的开发模式,帮助开发者构建高效、可靠且易于维护的Web应用。读者将学会如何利用Elm平台创建功能完备的应用,并深入理解其实现细节。 本书的特色在于结合理论与实践,让读者不仅能够学习语言本身,还能掌握如何将其应用于实际项目中,从而提升Web开发技能。此外,书中还遵循版权法规定,所有内容受到保护,未经许可不得复制、传播或以任何形式进行修改。商标名、标志和图像在书中仅作为示例使用,并非授权商业用途。 通过阅读这本书,读者可以期待获得对函数式编程在Web开发中的深入理解和实践经验,这对于希望在现代Web开发领域中采用新兴技术的开发者来说是一本不可多得的参考资料。无论是初学者还是有一定经验的开发者,都能从中受益匪浅,进一步提升自己的Web应用程序开发能力。"
资源详情
资源推荐
7
Figure 1-4. Example Elm logo
This app makes heavy use of interfacing with JavaScript, which is not always
necessary, but on the other side it is good to know it can be done.
What remains to be seen in the future is whether complicated applications can be
done with Elm as well. My own experience shows that one runs against a wall from time
to time or has to implement wrapper code in JavaScript. It is possible to move from SPAs
to multi-page applications, though.
Graphics
The Elm platform provides powerful graphics libraries. One example of their capabilities
is the Mario game. Another example is the Elm logo pictured in Figure1-4.
CHAPTER 1 INTRODUCTION
9
Embedded
Developers who want to introduce Elm may have difficulty getting approval from project
managers. One way, as described on the Elm website, is to start by embedding small
applications in existing websites.
Elm code can be compiled into JavaScript files, which can then be imported to an
HTML page with the usual script tags. There is no issue with either embedding several
compiled Elm files or using one file several times on a page. The only downside is that
the Elm runtime will be embedded several times. It is not too big, but it would still be a
waste of bandwidth.
Also, the embedded Elm applications have to be self-contained regarding state.
Communication between them is only possible via JavaScript code and by interfacing
with that code. Obviously, we may run into the concurrency problems that Elm tries
to solve in the first place when we have to update the state of those embedded Elm
applications.
What Can’t WeDo withElm?
After all the positive examples in the preceding paragraphs, we should now discuss what
we can’t do with Elm. Again, I must provide the disclaimer that I am writing this book
with version 0.18in mind.
It is not completely true to say that there are requirements we can’t implement with
Elm, because we can do everything by interfacing with external JavaScript code on a
website. Doing implementations this way is probably not in the spirit of Elm, and it also
defies some of the strong points of Elm, like type safety and a compiler that makes sure
certain functions are implemented before running the application.
By interfacing with external JavaScript we lose certain advantages. The result may
be to reimplement features inside the Elm platform. Whether or not this makes sense
is another question. Styling may be easier, but using a framework with enhanced
component features forces the developer to write interface wrappers with their own
models that can then be transferred into the Elm application.
Another problem with Elm is that it does not have any lifecycle hooks. Elm is not
only a language, but also a runtime environment and more. A lifecycle hook into the Elm
runtime would help to integrate it with third-party JavaScript libraries, but then we are
discussing the question of interfacing again.
CHAPTER 1 INTRODUCTION
10
For example, when Elm renders the page and we want to run JavaScript on an
element, we can’t because the JavaScript code will not be called immediately during the
render process. There are workarounds, as we will see later, but it could be easier.
Something else we can’t do with Elm is embed it into console tools or use it on the
server. This may be supported in the future, although it is not clear how far away this
future is or if it is even something that should be added. Elm is not a general-purpose
language, and having features like server rendering may break its clean architecture.
When describing all these problems we should not forget that Elm was created to do
web applications—especially SPAs—and it is doing this well. As developers, we always
want to push to the edges, of course.
Who Is This Book For?
This book is an introduction to programming Elm applications. It gives an overview
of the language and shows how Elm can be used for web applications and beyond.
I assume that most readers of this book are developers and know one or more
programming languages but don’t know much more about Elm than the examples on
the Elm website.
6
It helps if you know the basics of JavaScript, especially if you want to interface with
existing JavaScript libraries. You don’t need to know functional programming, however.
After reading the book, you should have the knowledge needed to dive deeper into
the Elm platform with more advanced learning material. Some developers even start
learning Haskell and use learning Elm as an introduction to Haskell.
Required Software
The only requirement for this book is a computer that is running any of the big three
operating systems (Linux, Mac OS, Windows). We will install everything necessary to
develop Elm applications, and also discuss plug-ins for your favorite editor or IDE.
6
http://elm-lang.org/examples
CHAPTER 1 INTRODUCTION
11
Note Elm is open source. If you want to compile your own version, you will
have to set up a Haskell environment on your computer. The easiest way is to
use a Docker container that has Haskell installed in it and take it from there. I did
it on Mac OS without a container and did not have problems, as I followed this
information
7
in Elm’s repository.
All source code will be available for readers of this book to download.
Structure ofThis Book
Chapters 2 to 4 will provide a primer of the language and the platform’s tools and
libraries. It won’t be enough to be able to write big applications, but it is a start.
Chapter 2 will also set up our development environment. We will install Elm and
prepare our favorite editor for Elm programming.
In Chapter 5 we will dive deeper into the building blocks of applications. After
explaining the Elm architecture, we will discuss certain features non-trivial web
applications need, like styling, forms, security, or access to third-party APIs. Since Elm
has its own runtime it needs to interface with regular JavaScript code, which we will look
into in this part of the book as well.
Chapter 6 will try to look beyond web applications and discuss how and if the Elm
platform can be used for desktop applications or on the back end.
In Chapter 7 we will have a look at what the future may bring for Elm.
Figure 1-7. Book Overview
7
https://github.com/elm-lang/elm-platform
CHAPTER 1 INTRODUCTION
剩余212页未读,继续阅读
白鸽-小蛋
- 粉丝: 10
- 资源: 166
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功