Upgrade to Pro — share decks privately, control downloads, hide ads and more …

New in v20 Part 4

New in v20 Part 4

Avatar for 4D Japan

4D Japan

July 27, 2023
Tweet

More Decks by 4D Japan

Other Decks in Technology

Transcript

  1. 4D v20ͷ৽ػೳ- Φʔϓϯιʔεͱιʔεެ։ ιʔεެ։ Φʔϓϯιʔε μ΢ϯϩʔυͯ͠վมՄೳ GitHubͷιʔε͸มߋෆՄ ։ൃऀ͕޷Έ΍༻్ʹԠͯ͡
 վม͢Δ͜ͱ͕๬·͍͠΋ͷ
 ͕ެ։͞Ε͍ͯΔ

    μ΢ϯϩʔυͯ͠վมՄೳ GitHubͷιʔεΛվมՄೳ ϑΥʔΫͯ͠Pull RequestΛ ͢Δ͜ͱͰɺιʔεΛվྑ ͍ͯ͘͜͠ͱ͕Ͱ͖Δ ͲͪΒͷ৔߹΋ιʔε͸4D͕ॴ༗͢Δ
  2. 4D v20ͷ৽ػೳ- 4D Go Mobile • ϞόΠϧ։ൃΛ͠ͳ͍։ൃऀ ‣ ϞόΠϧͷίϯϙʔωϯτ͕֎Εͨ ‣

    4DͷσεΫτοϓΞϓϦ։ൃΛ໰୊ͳ͘ܧଓՄೳ • ϞόΠϧ։ൃΛ͢Δ։ൃऀ ‣ ίϯϙʔωϯτΛऔΓࠐΊ͹͜Ε·Ͱಉ༷ʹ։ൃՄೳ
  3. 4D v20ͷ৽ػೳ- ORDAͱ͸ O R D A Object Relational Data

    Access = {} $person.father.father.mother $entSel.orderBy("value asc") $entSel1.and($entSel2) ϦετϘοΫε ίϨΫγϣϯ ϑΥʔϜ Write Pro ΞΫηε͕ྑ͍
  4. 4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷར఺ͱ͸ QUERY([People]Name="Hanks") ds.People.query("Name = :1"; "Hanks") ≒ $myCar.brand.company

    RELATE ONE([CarName]BrandID) RELATE ONE([CarBrand]CompanyID) ≒ ୯७ͳΫΤϦจͰ͋Ε͹ΫϥγοΫͰ΋ॻ͚Δ
 ΑΓෳࡶͳΫΤϦͰ΋࣮ߦͰ͖Δͷ͕ORDAͷڧΈ
  5. 4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ “Hanks” “Ryan” $es:=ds.Movie.query("roles.actor.lastName = :1 AND \

    roles.actor{2}.lastName = :2"; "Hanks"; "Ryan") // $es → (You've Got Mail, Sleepless in Seattle, Joe Versus the Volcano) 👍
  6. 4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ Entity 1: ds.People.name: "martin" ds.People.places: { "locations"

    : [ { "kind":"home", "city":"paris" } ] } Entity 2: ds.People.name: "smith" ds.People.places: { "locations" : [ { "kind":"home", "city":"lyon" } , { "kind":"office", "city":"paris" } ] } home͕ParisͰ͋ΔਓΛ୳͍ͨ͠ ds.People.query("places.locations[].kind= :1 AND\ places.locations[].city= :2"; "home"; "paris") ͜ͷΫΤϦจͰ͸ home͕ParisͰͳ͍ਓ΋ݕࡧͯ͠͠·͏
  7. 4D v20ͷ৽ػೳ- ΦϒδΣΫτه๏ͷڧΈ Entity 1: ds.People.name: "martin" ds.People.places: { "locations"

    : [ { "kind":"home", "city":"paris" } ] } Entity 2: ds.People.name: "smith" ds.People.places: { "locations" : [ { "kind":"home", "city":"lyon" } , { "kind":"office", "city":"paris" } ] } home͕ParisͰ͋ΔਓΛ୳͍ͨ͠ ds.People.query("places.locations[a].kind= :1 AND\ places.locations[a].city= :2"; "home"; "paris") ͜ͷΫΤϦจͳΒ home͕ParisͰ͋Δਓ͚ͩΛݕࡧͰ͖Δ
  8. • ΫΤϦ৚݅ͷϦϯΫ ‣ [a]ɺ[b]ͷΑ͏ʹΞϧϑΝϕοτͰࢦఆ ‣ ࠷େ26ݸ·ͰࢦఆՄೳ • ϦϨʔγϣϯͷΫϥεΠϯσοΫε ‣ {1}ɺ{2}ɺͳͲͷ਺ࣈͰࢦఆ

    ‣ 0Ҏ֎ͷ੔਺ΛࢦఆՄೳɺ޷͖ͳ͚ͩ௥ՃͰ͖Δ • ಄͕௧͘ͳΔ༷ͳΫΤϦ΋࣮ߦՄೳ 4D v20ͷ৽ػೳ- ORDA
  9. • FormίϚϯυΛ௨ͯ͠σʔλΛϑΥʔϜʹ౉͢ ‣ DIALOGίϚϯυͳͲʹσʔλΛ౉͠Formܦ༝ͰΞΫηε ‣ ࢖༻Ͱ͖Δͷ͸දࣔͷΈͰɺҹ࡮Ͱ͸࢖͑ͳ͔ͬͨ • Print FormɺFORM LOAD͕͜ΕʹରԠ

    ‣ Ҿ਺ͱͯ͠ΦϒδΣΫτܕͷσʔλΛ౉͢͜ͱͰडऔՄೳ ‣ ҹ࡮Ͱ΋ORDAΛ࢖༻Ͱ͖ΔΑ͏ʹͳͬͨ ‣ ར༻Ͱ͖ΔϑΥʔϜΠϕϯτ͕ݶΒΕΔ 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ҹ࡮
  10. 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ίϨΫγϣϯͷ৽͍ؔ͠਺ $col.first() $col.last() $col.at() $col.flat() ࠷ॳ·ͨ͸࠷ޙͷཁૉΛฦ͢

    ॱ൪Ͱࢦఆͨ͠ཁૉΛฦ͢(ෛͷ஋Մೳ) ೖΕࢠͷίϨΫγϣϯΛʮฏ͢ʯ [ "alpha", "bravo", [ "charlie", "delta" ], "echo" ] [ "alpha", "bravo", "charlie", "delta", "echo" ]
  11. 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ίϨΫγϣϯͷ৽͍ؔ͠਺ $col.first() $col.last() $col.at() $col.flat() $col.includes()

    ࠷ॳ·ͨ͸࠷ޙͷཁૉΛฦ͢ ॱ൪Ͱࢦఆͨ͠ཁૉΛฦ͢(ෛͷ஋Մೳ) ೖΕࢠͷίϨΫγϣϯΛʮฏ͢ʯ Find in arrayͷ༷ʹؚ·ΕΔ͔Ͳ͏͔Λௐ΂Δ $col.reduceRight() $col.flatMap()
  12. • ະఆٛͱͷ஋ͷൺֱ ‣ Undefined = Null ͸ΤϥʔΛىͣ͜͞TrueΛฦ͢ ‣ Undefined =

    “myText” ΋ΤϥʔΛىͣ͜͞FalseΛฦ͢Α͏ʹ ‣ Undefined # 20 ΋ΤϥʔΛىͣ͜͞TrueΛฦ͢Α͏ʹ ‣ Undefined # Null ͸FalseΛฦ͢Α͏ʹ • Ҏ্ɾҎԼͷൺֱ͸ͲΕ΋False͕ฦ͞ΕΔ ‣ Undefined > 5 / Undefined <= False ͳͲ͸શͯFalse 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - ܕΛҙࣝ͠ͳ͍ίʔσΟϯά
  13. 4D v20ͷ৽ػೳ- ORDAͷ৽ػೳ - Ϧςϥϧදه "MyText" !2023-07-25! ?12:30:15? $object:={}//New Objectͱಉ౳

    $col:=[] //New Collectionͱಉ౳ $object:={property: "value"} $col:=[Movie] //ςʔϒϧ໊ʹ஫ҙ
  14. • Write Proͷදػೳ ‣ ORDAͱWrite ProΛ૊Έ߹ΘͤΔ͜ͱ͕Մೳʹͳͬͨ • v20Ͱ͸ϒϨʔΫߦ͕௥Ճ͞Εͨ ‣ ද͍ࣔͨ͠ॱʹΤϯςΟςΟηϨΫγϣϯΛιʔτ͓ͯ͘͠

    ‣ ϒϨʔΫߦʹϑΥʔϛϡϥΛઃఆ͓ͯ͘͠ɺ
 ஋ʹมԽ͕͋Ε͹ࣗಈతʹϒϨʔΫߦ͕ૠೖ͞ΕΔ 4D v20ͷ৽ػೳ- 4D Write Pro දͷϒϨʔΫߦ
  15. 4D v20ͷ৽ػೳ- 4D View Pro ελΠϧΛࢦఆ͢Δ৽ίϚϯυͷ௥Ճ • View Proʹ͸60Ҏ্ͷελΠϧ͕࠷ॳ͔Β͋Δ ‣

    ɹɹɹɹɹɹɹͰදΛ࡞੒͢Δͱ͖ʹελΠϧΛࢦఆՄೳʹ ‣ ·ͨɺɹɹɹɹɹɹɹɹͰදʹ௚઀ελΠϧΛద༻͢Δ͜ͱ΋ ‣ ಠࣗͷελΠϧΛ࡞ΓࠐΜͰద༻͢Δ͜ͱ΋Մೳ VP CREATE TABLE VP SET TABLE THEME
  16. Webinar WEEK4 ৼΓฦΓ- 4D Go Mobile • ΦʔϓϯιʔεԽ • ίϯϙʔωϯτΛμ΢ϯϩʔυ͢Δ

    • Pull RequestͰιʔεΛվྑՄೳ • ϞόΠϧ։ൃΛ͠ͳ͍ਓʹͱͬͯ͸؆ܿʹͳͬͨ
  17. Webinar WEEK4 ৼΓฦΓ- 4D Write Pro • ςΩετϘοΫεػೳ͕௥Ճ ‣ ಡΈࠐΈ΋ॻ͖ग़͠΋ରԠ

    • ϒϨʔΫߦͳͲɺදػೳ͕େ͖͘վળ ‣ ϑΥʔϛϡϥΛઃఆ͓ͯ͘͜͠ͱͰࣗಈతʹϒϨʔΫߦ௥Ճ ‣ ΤϯςΟςΟηϨΫγϣϯͷࣄલͷιʔτ͕େࣄ
  18. Webinar WEEK4 ৼΓฦΓ- 4D View Pro • ςʔϒϧγʔτػೳͷ֦ு ‣ ֊૚σʔλʹରԠ

    • ελΠϧͷઃఆ͕༰қʹ ‣ SpreadJSʹఆٛࡁΈͷελΠϧΛ໊લͰࢦఆՄೳʹͳͬͨ ‣ දͷ࡞੒࣌ʹελΠϧΛࢦఆͰ͖Δ͠ޙ͔Βద༻΋Մೳ
  19. Webinar શମ ৼΓฦΓ- v20ͱ͸ • CI/CDͷ௥ՃʹΑ͍ͬͯͬͦ͏։ൃʹઐ೦Մೳ • ORDAͷਐԽ͸͞ΒͳΔ޿͕ΓΛݟͤΔ ‣ Write

    Proͱ࿈ܞ͕Մೳʹͳͬͨ ‣ ҹ࡮΋Ұ૚༰қʹ • ։ൃऀͷʮָʯ͕ू͍݁ͯ͠Δͱ͍͑Δ ‣ ૯ͯ͡࢖͍΍͍͢όʔδϣϯ