LEADER 06252nam 2200733Ia 450 001 9910438096003321 005 20200520144314.0 010 $a9781430248071 010 $a1430248076 024 7 $a10.1007/978-1-4302-4807-1 035 $a(CKB)3460000000120356 035 $a(EBL)1204521 035 $a(OCoLC)902404828 035 $a(SSID)ssj0000878525 035 $a(PQKBManifestationID)11532604 035 $a(PQKBTitleCode)TC0000878525 035 $a(PQKBWorkID)10832358 035 $a(PQKB)10344191 035 $a(DE-He213)978-1-4302-4807-1 035 $a(MiAaPQ)EBC1204521 035 $a(PPN)169134814 035 $a(CaSebORM)9781430248064 035 $a(OCoLC)846907676 035 $a(OCoLC)ocn846907676 035 $a(EXLCZ)993460000000120356 100 $a20130325d2013 uy 0 101 0 $aeng 135 $aur|n|---||||| 181 $ctxt 182 $cc 183 $acr 200 10$aBeginning Groovy, Grails and Griffon /$fVishal Layka ...[et al.] 205 $a1st ed. 2013. 210 $aNew York $cApress$d2013 215 $a1 online resource (351 p.) 300 $aIncludes index. 311 08$a9781430248064 311 08$a1430248068 320 $aIncludes bibliographical references and index. 327 $a""Title Page""; ""Copyright Page""; ""Contents at a Glance""; ""Table of Contents""; ""About the Authors""; ""About the Technical Reviewer""; ""Acknowledgments""; ""Chapter 1 Introduction to Groovy""; ""Installation""; ""Groovy by Example""; ""Converting Java to Groovy""; ""Converting a JavaBean to a GroovyBean""; ""Simplifying the Code""; ""Using Groovy Collection Notation and Closure""; ""Getting Rid of main()""; ""Groovy Language Key Features""; ""Assertion""; ""Annotations for AST Transformation""; ""Builder""; ""Closure""; ""GDK""; ""Metaprogramming""; ""Native JSON Support"" 327 $a""Native Support for Lists and Maps""""Native Support for Regular Expression""; ""Object Orientation: Everything is an Object in Groovy""; ""String interpolation""; ""Static and Dynamic Typing""; ""Static Type Checking""; ""Static Compilation""; ""Optional Syntax""; ""Access Modifiers""; ""Checked Exceptions""; ""Getters and Setters""; ""Import Statements""; ""Parentheses and Semicolons""; ""Return Type and the return Keyword""; ""Summary""; ""Chapter 2 Groovy Basics""; ""Scripts""; ""Using Script Functions""; ""Compiling Groovy""; ""Running Groovy""; ""Command Line""; ""Groovy Shell"" 327 $a""Groovy Console""""Assertions""; ""Power Asserts""; ""Strings""; ""GStrings""; ""Single Line Strings""; ""Multiline Strings""; ""Slashy Strings""; ""Multiline Slashy Strings""; ""Dollar Slashy Strings""; ""Regular Expressions""; ""Groovy Regular Expression Operators""; ""Match Operator""; ""Find Operator""; ""Pattern Operator""; ""Common Uses of Regular Expressions""; ""Collective Datatypes""; ""Arrays""; ""Lists""; ""Maps""; ""Ranges""; ""Sets""; ""Control Structure""; ""Groovy Truth""; ""Logical Branching""; ""Looping""; ""Exception Handling""; ""Methods""; ""Closures"" 327 $a""Implicit Variables""""it""; ""this, owner, and delegate""; ""Explicit Declaration of Closure""; ""Reusing the Method as a Closure""; ""Closures and Collection""; ""any""; ""collect""; ""each""; ""every""; ""find""; ""Closures as Map Keys and Values""; ""Currying Closure""; ""Closure Trampoline""; ""Closure Memoization""; ""Operators""; ""Operator Overloading""; ""Specialized Operators""; ""Spread Operator""; ""Elvis Operator""; ""Safe Navigation/Dereference Operator""; ""Field Operator""; ""Method Closure Operator""; ""Diamond Operator""; ""Summary""; ""Chapter 3 More Advanced Groovy"" 327 $a""Object Orientation in Groovy""""Classes and Scripts""; ""Groovy Constructors""; ""Inheritance""; ""Polymorphism""; ""Groovy Unit Testing""; ""Working with XML""; ""Writing XML with Java""; ""Groovy Builders""; ""Writing XML with Groovy MarkupBuilder""; ""Reading XML with XmlSlurper""; ""Native JSON support""; ""Reading JSON""; ""JsonBuilder""; ""Prettyprinting JSON Content""; ""Generating Text with Templates""; ""Runtime Metaprogramming""; ""Metaobject Protocol""; ""Metaclass""; ""Using invokeMethod() and get/setProperty()""; ""Overriding invokeMethod"" 327 $a""Overriding getProperty and setProperty"" 330 $aWeb frameworks are playing a major role in the creation of today's most compelling web applications, because they automate many of the tedious tasks, allowing developers to instead focus on providing users with creative and powerful features. Java developers have been particularly fortunate in this area, having been able to take advantage of Grails, an open source framework that supercharges productivity when building Java?driven web sites. Grails is based on Groovy, which is a very popular and growing dynamic scripting language for Java developers and was inspired by Python, Ruby, and Smalltalk. Beginning Groovy, Grails and Griffon is the first introductory book on the Groovy language and its primary web framework, Grails.  Griffon is also covered. While Grails is the Web framework for building Groovy Web applications, Griffon is the deskop framework for building desktop Groovy applications.  Could Groovy be the new Java?  It's light, fast and free (open source).  This book gets you started with Groovy, Grails and Griffon, and culminates in the example and possible application of some real?world projects. You follow along with the development of each project, implementing and running each application while learning new features along the way. 606 $aGroovy (Computer program language) 606 $aApplication software$xDevelopment 606 $aJava (Computer program language) 606 $aWeb site development 615 0$aGroovy (Computer program language) 615 0$aApplication software$xDevelopment. 615 0$aJava (Computer program language) 615 0$aWeb site development. 676 $a004 676 $a005.1 700 $aLayka$b Vishal$0888907 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910438096003321 996 $aBeginning Groovy, Grails and Griffon$94197849 997 $aUNINA