PHP Alive and Kicking: Building Mobile Apps with Native PHP (Episode 13)

Web Development

In Episode 13 of PHP Alive and Kicking, hosts Mike and Chris Page interview Simon Hamp and Shane Rosenthal about Native PHP, exploring how to build robust mobile applications using familiar PHP and Laravel, discussing technical challenges, future roadmaps, and the vision for PHP in native app development.

PHP Architect Magazine

Books

  • All Books
  • Write for Us
  • Jacked PHP
  • The Complementary PHP Testing Tools Cookbook
  • PHP Web Development with MySQL
  • Beyond Laravel
  • PHP Development with Windows Subsystem for Linux (WSL)
  • WordPress Development in Depth
  • The Grumpy Programmer’s Guide To Testing PHP Applications
  • The Fizz Buzz Fix

Swag

Services

Conferences

Podcast: PHP Alive And Kicking

Want to check out an issue? Sign up to receive a special offer.

Podcast Archive

PHP Alive And Kicking Episode 13 – Shane and Simon

PHP Architect Social Media:

Subscribe to our magazine: https://www.phparch.com/subscribe/

Streams:

Partner Spotlight

This podcast is made better thanks to our partners:

Displace

Infrastructure Management, Simplified Automate Kubernetes deployments across any cloud provider or bare metal with a single command. Deploy, manage, and scale your infrastructure with ease. https://displace.tech/

PHPScore

Put Your Technical Debt on Autopay with PHPScore https://phpscore.com/

Honeybadger.io Honeybadger helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Check it out at honeybadger.io

Music Provided by Epidemic Sound: https://www.epidemicsound.com/

Listen: https://s3.amazonaws.com/phpa_media/podcast/php-alive-and-kicking-episode-13-final.mp3

Podcast (episodes): Play in new window | Download | Subscribe

Transcript

Show Summary: PHP Alive and Kicking – Episode 13

In this episode of PHP Alive and Kicking, hosts Mike and Chris Page delve into the continuous evolution of PHP development. They highlight exciting community updates, modern practices, and the frameworks that continue to shape the language. Joined by guests Simon Hamp and Shane Rosenthal, the discussion offers insights from recent conferences, explores real-world challenges, and celebrates PHP’s remarkable resilience and innovation within today’s web ecosystem. The focus of the conversation is Native PHP, a groundbreaking project enabling PHP developers to build native desktop and mobile applications.

Full Transcript

Mike Page: Hello and welcome to PHP Alive and Kicking, brought to you by PHP Architect and made better by our partners at Displace. This is the podcast where we explore the latest developments in PHP and what it's like to earn a living in PHP today. I'm one of your hosts, Mike Page, a developer at PHP Architect. My co-host is a long-time contributor to our magazine and now team member, Chris Page.

Chris Page: I'm good, thanks. How are you?

Mike Page: Not bad, good, good. We're doing a live recording today, so if you head over to our Discord server, you can ask questions, and we'll try and post them to our guests. Also, if you're on YouTube, please like and subscribe – that would be brilliant. That's youtube.com/PHPArchitect.

As I just mentioned, we produce a magazine, and we have a discount code for you: ALIVE3. This will give you the first three months free of an annual digital subscription. We also have a yearly conference, PHP TEK, tickets for which are now on sale for PHP TEK 26 in Chicago. It’s a great conference; I know I'm biased, but I've always had fun when I go there. This year, we're also running JS Tech, which will be one track, and the call for papers is currently open. So if you want to submit a talk about JavaScript, please do. We're looking for as many talks as possible. We also have a swag store, so head over there for T-shirts, hats, caps, mugs, bottles, and all sorts. That's all our little things to tick off. I don't think I've missed anything, have I, Chris?

Chris Page: You haven't, although we have already started getting some comments.

Mike Page: Oh, I haven't got the chatter. We have not just one but two guests today. We have Dan from Jump 24, whose episode is actually coming out on Friday. Dan asks if we should ask questions in a general channel or a different one. This one's perfectly fine. He also says, “Hail, nice T-shirt you have there. Is this something from the merch store?” Unfortunately, this one isn't, it’s one of our internal ones, but there are similar ones on the store, quite a few PHP Arch ones. Chris has got mine, so I'm not going to get mine until the end of the week. You can have yours on Friday! Without further ado, we should introduce our guests, because we have both Simon and Shane from Native PHP. We've been trying to get this episode for way too long; we wanted this to be the first episode, but we finally got together. So, how are you two doing?

Shane Rosenthal: That's a good place to start. We always start with the same question: How did you two get into PHP? Who wants to go first? I think Shane should go first. Alright, I will. Hi everybody, thanks for having us first of all. That's a great question. How did I get into PHP? I started developing in 2012 or so. I actually did a lot of… I had a new family, my ex had two daughters from a previous relationship, and they were older. I was thrust into this situation where I needed to make a lot of money, and I didn't really know how. I did door-to-door sales for about 10 years, leading teams of commission-only sales. Sales are up and down. But I was using my dad's truck at the time, and the head gasket blew. I had no way to get to work anymore, so he took me aside one day and said, “Hey, can you copy and paste?” I said, “Yeah, I can copy and paste.” He had a project – he's been a developer since the 70s, started in the Navy in 1974, working with .NET and that whole other world of things. He got me into programming, and I could see very early on there was a big hype around WordPress. I kept bringing it up to him, though I knew nothing about different languages. I was like, “You know, we should do WordPress, we should learn WordPress; there's a lot of business in WordPress, a huge market.” He just didn't see it. His client ended up going bankrupt, which I could see coming about six months ahead. I started dabbling and learning some WordPress stuff to the point where I was looking at a website called Toptal, which rebranded to Elto and then got bought by GoDaddy. It was essentially where you could sign up as a developer and get paid $40 per “tweak,” which they defined. I knew nothing about doing anything inside WordPress or PHP. I had no idea what a decimal next to an equal sign even meant. So it was like I signed up, they asked me to do things I had no idea how to do, and I just figured things out little by little, started building my own custom plugins and themes. Then someone told me about Laravel maybe a year later or so. At the time, I remember Googling, “What is OOP? How do you do object-oriented PHP?” So I had my own custom, I guess you can call it a framework – it was just a bunch of includes all over the place really. I got into Laravel, and that really made a lot of sense to me, and I just kind of stayed with that ever since then.

Chris Page: Nice, so that's what, 13 years?

Shane Rosenthal: Yeah, I guess so, something like that.

Chris Page: And how about you, Simon?

Simon Hamp: Not too different. I mean, I didn't end up with a family all of a sudden and have to provide for them, but actually, I've been programming in PHP for coming up to like 22, 23 years, which is kind of crazy now I think about it. I didn't used to be this gray, though. I think that's because of PHP, or maybe it's because of Shane, I don't know. I think I had more color in my hair this time last year. Yeah. I was just like, I was working for a company, I was like 18. I came out of school, I didn't go into college or university. I started working in IT support, and this company I was working for was using connected systems. They had servers in a room in the office I was in, and they had sites throughout the UK. They were running an IBM AIX server and were ISDN lining terminal service on top of that, so all the sites throughout the UK, which was over a hundred depots, could connect to this Unix-based interface and use a text UI to input data into their account system, which was running on that server. And I was just like, “We've got web browsers, the internet is a thing! This just feels completely ass-backwards.” I just wanted us to be able to do this way, way better. They were paying like tens of thousands of pounds a month just to have the rights to use that service and the company that supported them. I was just like, “Man, there's so much money to be made in this industry.” So I was like, while I'm working in that job, I just went and bought books about programming and how to write websites and all that. One of those books was PHP. I think it was PHP 5, although that had probably just come out. I ended up starting with PHP 4 and like MySQL 5. The two fives together. It did cover a little bit of OOP, and I was like, “Oh, so I don't know what this is.” I completely ignored those chapters, and then within a few months of just messing around in Notepad, saving files, and trying to figure out how to make Apache work on my terrible Windows laptop at the time, I'd kind of got enough dumb luck confidence to go and try and get a job in the industry. You know, it's like, “I know how to do this now, let's just go get work.” So that's what I did. And I proceeded to go and get a job doing ASP.NET, trying to convince the guy who ran that business, “You should use PHP for this, it's way better,” which was a terrible idea. See, I just got this image now of you frantically Googling everything every time his back was turned.

Mike Page: Right. And that was… so I got really good at doing Google, which was a thing that people used to do as programmers. Gosh, I can't believe that in my career, that's gone in and out of fashion already. But yeah, and I've just been doing PHP ever since then. So I built my own framework, realized that that was really difficult and should never be done, and then used somebody else's framework instead, which was Laravel. After many others, I've stuck with that. So I've been working with Laravel basically ever since then, so it's like 13 years.

Chris Page: So yeah, that'd be cool. I don't think many of us that were around in PHP 5 days haven't tried to build a framework, but you went one step further, and you built a way of doing mobile apps in PHP for fun. How did that even start?

Simon Hamp: Yeah. There are lots of ways of starting this. The first one is, we're crazy, that's how it starts. Well, basically because of that introduction to programming as kind of via the web, you know, like doing PHP, doing it over web browsers and that kind of thing, managing servers, setting up databases, blah, blah, blah. I kind of got into this place, me personally, I got into this place where I was like, “I know how to build applications now.” Like, they are applications, right? They're not just a bunch of scripts tied together. And they're robust and they're reliable. And I want to use the skills that I have now to go and build applications that live on people's computers and phones. And I don't understand why PHP isn't capable of that, or can't be capable of that, and why I can't use things like HTML, CSS, and JavaScript to build these robust solutions which I build for the web from a server, to do the same thing when it's just all packaged up in one little bundle and runs on the person's device. So, yeah, crazy enough to actually try and give that a go, and that's kind of how it started a few years ago. And it ended up being an extension on PHP, directly natively talking to the phone, which is… that's incredible to think that somebody just went, “I'm going to make this happen,” and then actually did it.

Mike Page: You can just do things. I know it's like somebody keeps saying that, Simon, I don't know who that could be.

Chris Page: So Mike, do you reckon these are the two people that may actually be able to make my dream happen, a PHP-driven fridge?

Mike Page: I hope not. Yeah, he's been banging on about that one. I just want to do a PHP-driven fridge because it's possible, and I don't have time to find a fridge that I can program.

Shane Rosenthal: I'll tell you, I have visions in my mind of the first time I turn on my truck, and the Laravel home screen pops up on the dash. I really do. I know that sounds like very far-fetched, but it really isn't. I know that it's not.

Simon Hamp: You should be scared if that's what happens when you start your truck because then something's really wrong.

Shane Rosenthal: Well, oh no, it's possible. I mean, that's one thing I knew nothing of this coming into it at all, and Simon showed me, kind of opened the doors, like, “Yeah, it's possible, this is kind of how we do it.” And that was my intro to all of it, actually, well, my intro I guess was a couple years ago, but yeah, it was just the excitement around Native PHP when I first heard these words together. I was in Nashville, I think it was right? Marcel Paturzo gave a talk, and I was… I had back surgery in November that year, a couple months later, and was excruciatingly in pain, but I stuck around because I saw this, and I was like, “Oh my God, someone figured out how to do mobile with Laravel!” And that's what I thought, and it was desktop, but I was still excited. And I went home and started a YouTube channel and got like a thousand subscribers the first week, I think, just all based on Native PHP stuff. I dropped the ball after that; I never really pursued much more into it just because I was now focused on the YouTube channel, I guess, a little distracted there, and the back surgery had something to do with that. I met up with Simon the next Laracon last year, I guess, 2024, yeah, and we just kind of hit it off as friends, and spoke a lot to each other, and we chatted before then, I think, didn't we?

Simon Hamp: We did, yeah. We still don't even remember exactly when we met. I think it could have been 30 years ago, who knows? But no, I mean, we just liked each other and talking to each other. We both, I think, had also… we had done like a bunch of our own sort of startups or SaaS idea products that we tried on our own for years. I had a dozen of them, he had a dozen of them, or so, or whatever the number was. And we both were at the point where we're like, “I'm just done trying,” because I just… I'm burnt out. I'm burnt out on having to do everything: the marketing, the support, the development, the, you know, everything that goes into being a one-man show in a business. And I'm like, “I want to do something, but I'm not ever going to do it alone.” And this kind of… I wouldn't say fell into our laps, but we were both not really expecting it to be what it what it's become. And so we both are like, “I'm so glad we had these conversations before this, right, so we know we can trust each other, we know our mindsets are…” I know like decisions I can make without him and vice versa, and what I shouldn't, what we need to consult with each other on and all that kind of stuff. So it's a very kind of intuitive and natural relationship. And the product is like, I remember the first couple weeks of starting it, we just both had a very clear path forward of where we wanted to take it: the product, the business itself and all that. We were just… we knew we were both very excited about like, “once we get to this part, then we can get to this, and then this becomes the ultimate, this is where we're going to eventually end up,” you know. And I think we've had our own surprises along the way as well, too, some new interesting developments that we're discovering even today, we're discovering, you know, this week, some new interesting fun things that… yeah, it keeps it keeps it very interesting, very fresh.

Chris Page: Yeah, that's one of the things I love about Native PHP is that there's constantly something new. It's like every time I look at Twitter, it's like, “You've released three different things!” And it's… I can't keep up.

Shane Rosenthal: Because it does not feel like that from this side. I feel like, honestly, even like this month, the last six weeks or so, I feel like I haven't done quite enough. And I think I even posted that in our own Discord, was like, “We've done, we've been just working and working on getting things out that we haven't spent much time in the marketing stuff.” So now we're taking some of this week and next week to kind of trickle out some of these things that we've been doing. So yeah, got to got to keep… the marketing train has to always happen, doesn't matter, even if there's nothing to show, which we always have something. We'll find something. There's plenty of content here, you know.

Mike Page: We had a pretty exciting video come out this morning. Yes, I'm going to try and see if I can share it, but I'll probably mess this up. So give me this… yes, here we go, it's going to work.

(Video showing a QR code reader functionality)

Mike Page: So this video came out this morning, which is going to excite quite a few people that I know. Yeah, so we got a QR reader. Is it… is this out now, or is that… is this coming out in the next release?

Shane Rosenthal: This will be in V2, which we're planning for. I think we're going to get it by the end of the month. So it's done. It's version 2, our V2 branch. If you have a Max license, you technically can go and pull it down and play with it right now.

Chris Page: Oh, cool. Guess what I'm doing after this episode? Probably. We have Eric excited about the fact that we have QR codes. I have no idea why Eric might be excited about QR codes. Oh, I have an idea why. Oh yeah, we do. And we have… we have Ula who says he saw that video this morning, which, see, it's getting out there. And then we also have quite a big question from Dan now. I don't know if we'll see it or it won't, so we have to… we have to read it out. So Dan has said, “Simon and Shane, what is the biggest shift required in the way that you would typically develop a Laravel application to develop a native PHP application? For instance, your database, if you have an application that connects to a DB, would you just put your credentials for that DB into your environment that deploys to the app, so that it can actually, or would you build a REST API for it? I've not had a chance to try anything with Native PHP as of yet, but I'm a huge fan of both of your work, and it's honestly awesome to see what you're doing, especially with the V2 stuff.” Now, if you want a bit of time… sorry, I was going to say if you want a bit of time just to digest all that, because this is quite a bit there, we can go to our partners and give you a few minutes just to think about that if you want, and I can't find the right video now. Let's play the QR code video again. That's fine. Yeah, this is one, right? We'll be back in a few minutes.

Mike Page: Thank you to our partners over at Displace Technologies. Building PHP applications is your passion. Managing cloud infrastructure shouldn't be your headache. Displace is your partner in cloud infrastructure orchestration, giving solo developers and small teams the tools and automation to deploy enterprise-grade Kubernetes clusters without the enterprise-grade complexity or cost. Their CLI tools streamline everything from local development to fully managed cloud deployments on AWS, Azure, Google Cloud Platform, and more. Skip the steep learning curve of Docker, Kubernetes, and Terraform. Let their automation free you to focus on your core business without losing control of your infrastructure. Get started at displace.tech – that's D.I.S.P.L.A.C.E. T.E.C.H. – and discover how the right tools can eliminate the need for a full DevOps team. Thank you, Displace.

Chris Page: That is the first time we said it in synchronization! We're getting better. It's only taken us 13 episodes to get there, but we're getting there. 13 episodes, plus all the ones that we haven't released that we've prerecorded. You guys have been busy.

Mike Page: We have. We have got 23 episodes in the bag at different points. The original plan was to have an episode every other week on a Tuesday, and we are now releasing two a week. We're doing the live one on Tuesday and on Friday, we're releasing prerecorded ones that we couldn't sort of sync and do live with. So yeah, we're… you can just do things. We came up with the idea, we pitched it to Eric and John, they were up for it, and then Chris just went off on one. And then all of a sudden, I realized there are all these appointments in my calendar. That's a lot of recording today, but we've done it. Well, we'll have to slow down a little bit now. But anyway, we should get back to Dan's question.

Chris Page: Which we should. Yeah, let's see if… take that. There you go. He might be able to see most of that.

Simon Hamp: Take it away. Yeah, well, I actually paid Dan to ask this question. So, fundamentally, the answer starts with a no. So you don't have to change the way that you would typically develop a Laravel application to use Native PHP, and that's one of the main goals of the project really, is that you come at it sort of idiomatically to what you already know, and that's kind of one of the main value-adds of using this over something else, right? But Dan's right that you can't… you shouldn't… you must not share database credentials inside of your application. You shouldn't distribute secure credentials like that with any application that you distribute to end-users. Just think of it in the same way as you don't distribute API keys into your JavaScript application because that code ends up on the client, and, you know, in theory, somebody could crack that open and start abusing those keys. So you need to be very, very cautious about how you do stuff like that. And the same applies in a native application because you're shipping the code to the client. Doesn't matter how many layers of obfuscation or compilation or encryption you might try and use, you're not going to ever fully protect a codebase that's been shipped to the end-user. Somebody's determined enough that they'll get into it. So you don't want to be shipping credentials with it, and that means you can't really have… you shouldn't really want to have your end-user, you know, the client application connecting to your central database directly. So you would put it through an API. So you'd have an API layer that you can, you know, dish out credentials randomly or relatively often as the clients need, and then those credentials give them the level of access that's, you know, the minimum level of access that's required to the service, and that kind of proxies those requests through to your central database. But when you're talking about databases like this, there's a little bit of a wrinkle there because we do also have a database on the local device, so you have SQLite, or SQLite, however you want to say it. You say SQLite.

Shane Rosenthal: Well, yeah, that's all I see. No, I say SQLite. I was just trying to be silly.

Simon Hamp: But yeah, so you do, you have access to a database locally, and it's… you can use that in the same way that you use Laravel, and but you, sorry, you would use any database from Laravel using Eloquent, or if that's your sort of preferred way of doing that. And that's that's really, really handy. But it's obviously not your central database. So it's… it's like useful for just storing configurations and little bits of data about your app for that user on their device and accessing that in a, you know, a relational manner because that's what it's there for. And that's really, you know, like you can use it for cache, you can use it for large portions of data that need to be stored whilst they're maybe offline and then synced up later. And that's like, then full… we're getting into distributed software and, you know, kind of wider systems thinking about how you build ecosystems that are made up of like server-based applications and client-based applications, which I think a lot of us maybe in the PHP community haven't had to do very much of because we've been, “Well, my application's on the server,” and, “you know, a little bit of it gets shipped over the wire to the browser,” and “mostly I don't have to worry about it.” So it does, it does take a little bit of getting used to. Yeah, sorry, that is the very long version of the answer to that question, but I, I think aside of databases and kind of centralizing data access, mostly the big difference is you have access to all these features of the device, right, that you don't have when you're running PHP on a server because it doesn't have a camera, it doesn't have, you know, a flashlight or vibration functions, etcetera. So, you know, we, we get all of that, and that's something to just kind of wrap your head around as well.

Chris Page: So in effect, you're sort of describing the older style of building, but in the new way of effectively an API on one side and a separate front end on another, except this front end has cool features which is seriously useful.

Simon Hamp: Yeah, it's a front end that's not just JavaScript, which is a lot more powerful, in my opinion. I think you can do a lot more with PHP running on the device if you're familiar with PHP.

Chris Page: So, a new question thrown in there by Eric as well: “Are there any specific optimizations you do to the PHP source for mobile?”

Shane Rosenthal: Mmm, do you want to take it, Simon? I mean, there's not a lot on the PHP side. I think that because again, we start with Laravel, we looked at like what are the minimum extensions required for Laravel to boot, essentially. You know, give me the MVP. Let's just get this thing kind of working, and then if we need to or want to add things on for that. Now that's not optimizations, I understand, but the bigger the library ends up becoming, the slower it's going to be to process any single request for the most part. And there's there's different ways to handle that. We and we do have plans for, you know, like we're not, we don't have ZTS, we're not thread safe at the moment, so everything is on a single thread. So there are things we can do moving forward, but I think, I mean, one thing that came up for me, I got an email from Google saying one of the apps that I've got, I have until November first to get it aligned with 16 kilobyte page sizes. And I'm like, “I don't even know what this is.” But it's not just me, this is going to affect everybody using Android. So I had to recompile PHP for that. And the way we compiled for Android is Android provides an NDK, it's a native development kit, that you can compile PHP against the Android, you know, for the Android environment. And so the NDK I was using was maybe a year or two old, and so I had to upgrade to a different version, which required me to go back and change some of the ways that I was doing some of the other things that brought in more functions that I had access to that I didn't need to implement on my own, and a lot of headache that went in with that. But I was able to get that out. I don't, I don't think really there's probably… there probably is some room to optimize PHP there, but again, at the end of the day, I look at number one, is it working? That's very important. Are the majority of the things that not just me but most users are expecting to work with PHP, are they working? And then what is the size, and how slower responses or how fast are the responses for me on… and I can, I can rub Simon's face in this a little bit because I do shared embedded compilations, it's 6, 7 megabytes for my whole PHP binary, so it's pretty small. And it's pretty quick as you can see if you've built one, or if you, if you're playing with one at all, or if you've seen anybody else use one. There's really not not much downtime in between things for speed, or, you know, I think memory management might be a little bit, and a lot of that stuff is actually on the Android side. And people have asked us for, here's a good example, like, “Imagick,” how do you pronounce this? Has anybody ever really figured out how to pronounce it? Is it I magick, imagine CK, a Majestick, if you want to store it in your SQLite database? You probably could figure that out. Anyway, we got PHP running on an Android, right, and an iOS phone, but you know, they've asked us for this, and it's like, “Could we figure that out?” We could figure that out. Is it optional? Is it going to bloat? Or could we check the OS and see if it provides something that's already on the device that can function, do the same functionality and provide a nice API wrapper to those to those calls? So, you know, we're always looking at as the architects in this, what's the what's the right solution, not just the one that we're most familiar with.

Simon Hamp: I, for me, the question is kind of ambiguous because, I mean, there have been some optimizations we've had to do, I'll say maybe it's not optimizations, it's more just changes, but to the PHP source code. It's like the C source code for PHP itself before we compile it for these platforms. Particularly on iOS, because iOS doesn't allow certain things that are kind of typical on a server environment, like spinning up separate processes and that kind of thing. So we have to patch PHP in places to to make it compilable for for the platforms. But then like the other side to it could be, are we optimizing the user-land PHP code, like your PHP code, you know, re-compiling or transpiling that in any way at the moment? And the answer to that is no. So the code that you write that you like, you would ship to your server, you know, is exactly what gets shipped onto the device. And that's quite cool in some respects because it means that what's on the device is is changeable, you know, put it simply, like it can be updated without having to update the application itself via like an App Store. And that's something we started exploring very early on, and we've done quite a bit of work to get to it, but it's not quite ready yet, but you know, we want to be able to do things like over-the-air updates where you can actually ship, essentially, a new version of your PHP, your Laravel application to all of your users. And they won't have to go, you know, like it will automatically go and check in the background and pull that down and update their application whilst they're using it, which then avoids the App Store problem for like minor bug fixes and UI changes that you might want to do. You can do without having to deploy a whole new release through the App Store or the Play Store, which is really, really exciting stuff for, you know, and that's something that PHP sort of inherently enables just by being PHP, you know, being a scripting language. So, yeah, sorry that I derailed that away from the original question, but I think it's like really… it was really a yes or no question. If you look, it's because we're not, we're not doing those kinds of optimizations that that sort of stuff is possible. You know, we're not transpiling PHP into native code or anything like that because that would shut the door to to that kind of stuff. So it's, it's not off the table though. Yeah, yeah, there's some angles there that work.

Chris Page: Going to be interesting to see that as an option at some point. You can either have it scripted or compiled, that that'd be an interesting place to go with it.

Shane Rosenthal: If there's one thing that I've learned in this last, God, I, I guess it's been a year just about a year that since Simon started with the mobile side, and anything is possible. Anything is possible. You need a lot of caffeine, and you have to hate your family, and I'll be fine with them hating, you know, I'm just kidding. That's it. But anything's possible. It's all doable. Yep.

Chris Page: I still can't get over the fact that we can just write code for mobile natively in a language that we all know and that has been around for 30 years. It's incredible.

Shane Rosenthal: I think that's the biggest appeal. I mean, that's that's that's been the biggest appeal. There's a whole market then, right, of of how many hundreds of thousands or millions of developers, right, that already know how to how to do this. And it's like, I, I, I've done talks before, the titles where you're already a mobile developer, you just don't know it yet, you know, or let me show you how. And it's really the same language you're already doing. You do have to think about things a little bit differently. State… it's stateless, right? So it's not completely stateless. You can build apps that you're not using any API or any data outside of the device itself, and when then you're completely in control of state on the device. So, yeah, other than that, it's sweet. I like building apps now.

Mike Page: Yeah, I mean the first time I saw anything sort of serious about this was you talking at Tech earlier this year. I'd heard of Native PHP beforehand, didn't know much about it. I happen to be the one doing the live stream for that talk for you, and that… I can't help but my mind just raced since. I'm like, “This is actually possible!” My and I was… we were talking slightly before the show with Simon that although I haven't actually delved in and tried to build any apps yet, I've got a long list of apps I want to build now. I just try and keep that quiet for my wife because, yeah, well, I'll never leave this room, I guess. Anything's possible. Yeah. But not only have you guys made it possible for people like us not to have to learn another language and frameworks to be able to build apps, you've made it almost one click to be able to deploy those apps with Bifrost that you released a few months ago now.

Shane Rosenthal: Two months and two days. Yeah, that's my baby was born. Yep. I was expecting you to go, “Two months, two days, three hours, 12 seconds.” He's actually got a clock on his desk that just has been counting up. No, I have an app for that. Hang on. If only you knew a framework that would let you build that. Oh, wait. Three hours, 12 seconds. You hit it right on the nose, Chris. Good job.

Chris Page: Wow. So we have got a few more questions coming in. We have. So I'm going to let Chris read them because, to be honest, Chris knows this, I'm dyslexic, so it'll take me half an hour to read one of these questions. So…

Simon Hamp: I want to hear… I want to hear Mike's version though.

Mike Page: No, it's not. I mean, I want to hear Mike's version now, not live, not happening. You have to do it with their accent too. I can't even do that. I can't. No accents, definitely not. So the first one from Eric is, “Is the idea of allowing other PHP Frameworks or generic PHP to run on mobile using Native PHP on the radar? If so, is there a timeline for when we can expect this?”

Shane Rosenthal: Yep, so I want to answer this one. I think, and I don't think we've really like, you know, said it out loud, I think our our hearts are in the same sort of direction, yes, it's possible. Anything's possible, right? If you hate enough people and… and there are plans to do, I think, at least Symphony and vanilla PHP. There's going to be… there's going to have to be some rules and guidelines around that, because you can… I mean, you can try to do something that is just when you say vanilla, I mean that's like you're opening up to the world, and it's like, “How do I know where you want to boot from?” Like, all sorts of like boot processes you want to do. They are… it is possible. I will say our goal right now is to get the the APIs, our our our backlog, well scratched before we attempt any of that, because they'll transport immediately over to those. So there's no point. I, I mean, and that that's a, that's a pretty big assumption, but it's it should be fine. It should that should work that way. There, yeah, I just don't see a point in in going right for that when we have all the work already in front of us to just get these things done, because then you'll have another whole group of people asking for the same things, right? So I think that it can be done, it's just not a priority until we get a good chunk of what we have in front of us out of the way, and we're getting there. We're getting there. V2 is going to be so sweet.

Simon Hamp: I'd like to add a couple of things to it because, you know, we we have talked about this quite a lot, and and we thought about the different approaches we we have. The first thing for us is like, it's got to make business sense because this is a business and, you know, we're not… it's not just an open source project that is is just trying to get this sort of stuff done in its spare time, or I have spare time, you know, I, I kind of made a decision about that before even Shane came and joined in with with stuff that for the mobile, I knew that there was enough value there to to build a business around. Like it was something that people would be prepared to pay for because building apps is is an industry, you know, like you guys work at an agency, you you know that people will come and pay you to do this stuff. So from my point of view, it was like, “Well, if if we're making that easier and faster and cheaper for everybody, then, you know, like it's only fair that we have a way to monetize that from the off.” But even with that, you know, we have to then prioritize things that that kind of keep that business going and paying our bills and and all of that kind of stuff. But we we want to… we we built it in a way that it is just PHP under the hood. You know, it's it's not like it only works with Laravel. No, no, this is PHP, and and it it's got enough stuff that it will work with Laravel, and it can work with other stuff. So there's nothing really stopping anybody kind of cracking it open today and sort of figuring out like how how are you booting up Laravel in here and just changing all of that? You you know, like you get the Swift code, you get the Kotlin code, you can read through it all if you know what you're doing, or you can use Claude Code, you can like reconfigure that, and whatever, it just won't be part of the core of that solution at the moment. So that's, yeah, it's it's completely possible today to do it, but yeah, it's just not it's not something that we can justify. And the other reason is that technically those other, as as Shane's alluded to, those other options, if you like, for doing this, they're very loose, you know, like people build Symphony apps in all sorts of weird and wonderful ways. I've worked on on quite a few Symphony apps over the years, and every single one of them has been completely different from the last one. And that's not a bad thing when it comes to, you know, just like the flexibility that Symphony provides, but it's a terrible thing when you're trying to build a project like this that like it relies on things being in a known place. And and building it to make it account for all of that flexibility is a job unto itself. Like that would just be a whole stream of work just to be like, “How are all of the different people building their Symphony apps?” I don't care, and I don't want to care about that. I just like Laravel is a known like structure, and it, yes, it's opinionated, and that makes it great for stuff like this because I know that I can just take a Laravel app, as long as it's, you know, vanilla Laravel, and I can make it just work in this context. To me, there's huge value in in doing things that way, not just in the context of Native PHP, but also like within a business, you know, like I want all of my apps to be the same structure so that any dev on the team can come in and just start cracking on. Like they know what they're dealing with day one, and that's that's actually like one of the big like levers I think Laravel managed to pull over the last 15 years. If if Symphony and and other tool, you know, like, let's say vanilla, it wouldn't be vanilla, it would still be a framework, right, but vanilla PHP that could work with Native PHP was to come, it would just have to be very opinionated, I would say, you know, it's like, “You can do it without a framework, but it looks like this. You have to have these folders and you have to have these files, so it looks like a framework.” Or you do it in Symphony, but you do it with this Symphony starter kit or whatever it is that they've got that makes you do your applications like this, which I think would be antithetical to the way that some of those projects actually work and the way that people want to think about them.

Shane Rosenthal: I was going to say too, to add to that, maybe a little defensively or offensively, depending on what side of it you're looking at it, but why not just learn Laravel? It's PHP, and it's it… it, I, I promise, it can do anything that any of the other frameworks or vanilla can do. So it may even just be easier for you to do it in this way to get the benefit of having mobile, at least for now.

Chris Page: So, playing devil's advocate there, one of the reasons you might not want to do that is you might already have an app that is built in, say, Symphony, to bring over.

Shane Rosenthal: I wouldn't do that anyway. Even if you already have a Laravel application, and that's, and that's one thing that we kind of tell everybody. You can do it. You can have a… even if I have a Laravel app now, I think one of the first things I did just to test things out was I just cloned the Native PHP site and just shoved it in and just ran like my Android start whatever command, that is not the command at all, the one that I type 10 million times a day, install and run, and it just booted up, right? But we don't recommend that because you have to think about so many things in a different way anyway. So plus, you're going to have a lot of assets that are going to bloat the app potentially: images and videos possibly. I wouldn't say you just have your app and bring it over and run a command and your mobile… now you got to think about things differently anyway, so you may as well right-port your mind over and then port your code over.

Mike Page: That that kind of answers one of the questions I had was uh so one that one of the ideas I have for an app is I've actually got it as a web app already that I've been building and I want to have mobile version of it and basically what you're saying is I need to start from scratch and just…

Shane Rosenthal: Doesn't need well, not not start from scratch, but I've got… I can't just clone and just run. I need to make think about things so that that's that's very interesting. Yeah, yeah.

Simon Hamp: Is this the one I think it is?

Mike Page: I don't know which one you're thinking of. Is it… is it a stress one? Yeah, on that one, change database structure and you'll be fine. Yeah, well, we don't need to. There's… there's lots of things in these changing. No, come on, bring it out. Let's hack, put it up on the screen. Oh God, no. Some of that code I wrote about so I've… I've only been coding since about 2019, and some of that code I wrote in about 2020, and I now look back at it and and Chris has looked at it and goes, “We need to change this.” So I know it's… there's a lot of work to be done in there before I start moving over to…

Shane Rosenthal: I think I think too, to add to that, is, you know, when you when you start to think about things a little bit differently in this way, if your API if using API, you're not really relying much on local database. You can start to think about how to shift some processing to your server externally as well. Yeah, so that's going to offload a lot of the workload on the device that could drain a battery or blow out the app or, I mean, a lot of different things. So again, there's a lot of things you want to think about and consider. Hidden API endpoints sometimes to, you know, make a PDF out of something and stream it back versus on the device. Yeah, makes sense, makes makes a lot of sense.

Chris Page: So one of our other questions has come from another colleague of ours, Joe: “When it comes to monetization, you're still beholden to the app stores for cutting them in for a slice, correct?”

Shane Rosenthal: I think as much as anybody else would be. So there's there… they have rules, and they have… they have recently been sued enough, some of them, to allow certain things. Yeah, we're not… we don't have anything to do with that. And again, like, this is a paid product. People are like, “Oh, so I have to pay a hundred dollars to Apple every year plus pay.” It's like, that's not… I mean, we don't benefit from what Apple charges at all. Yeah, Simon, you'll have more details. You can explain this pretty well.

Simon Hamp: Well, I mean, I first of all, you know, a lot of this is wrapped up in the legals of those different platforms, like the the the companies that run them, that own them. I've tried to create environments that make it so you have to play in their play pen and play by their rules. And, you know, if if you can avoid that, that's your opportunity, but it's also like your risk. You've got to figure that out between you and your lawyers or whoever else, you know. What when you think about what's happening, at the end of the day, we're we're still building native applications. They just happen to be able to run PHP inside them. So aside of that, nothing else really changes. That, you know, it's just you you've now got the advantage that you can use PHP in that context, which lets you do things that you weren't able to do before. Yeah, and I guess that answers the other half of his question. So, “Is there any code changes required around the Laravel and only in the sense that you you need to track it?” Yeah, I, I mean, obviously there's going to be the the stuff that interacts with those native APIs to be able to to trigger those functions. So you you couldn't, again, to the point of like, “Can I take my my Laravel app that already has integrations with Stripe and just ship it onto a phone?” No, not really, because you're going to… you're going to need to ship things like API keys to Stripe to all of your end users. You definitely don't want to do that. Again, principle of, “Don't ever ship keys like that to end users via an app,” let alone the store's rules, you know, there's just like complications there that make that impractical. So, you know, the the the guidance there for that kind of stuff is either you direct users to a website, and they subscribe through a website, which again, there are rules in, there are rules about how you can do that or whether you you can't do that or like, you know, what Apple will do if you break those rules and all that kind of thing. But essentially like you can you can still try and figure out how to to guide them that way. Or you use that the in-app purchase tooling, which, okay, we don't have some of that just yet, but there will be.

Simon Hamp: But the the goal really isn't about that. You know, the the goal is to make the best end-user experience because the the proof is in the pudding for the years that people have been doing apps, native apps this way, and and kind of, you know, having access to the wallet and being able to do payments quickly through Face ID and Touch ID and whatever else that it's better. It's is a better solution because customers have less time to think about it, and they they will pay more quickly, and and they'll live with that decision more rapidly than they do when they have to go from their phone to their laptop, to website, fill in their card detail, you know, like it's just it's obvious that it's a better way. And so it's kind of worth the premium in in a lot of cases. Yeah, and so we're just like again, opening the door to all the PHP developers to be able to do that.

Shane Rosenthal: I think there's one there's one large thing that we're we're wanting to tackle pretty soon, and that's background tasks and scheduling that are not built into Native PHP yet. And I think the goal there is to eventually just tap into, and I I'm speaking out of my, you know, I we haven't thought entirely through this, we haven't explored it enough yet, but I mean both of the of the devices have some sort of cron mechanism. And so if we can wire the scheduler, Laravel scheduler, to that, and also like, you know, when some event happens to… it's and I have explored this a little bit to direct traffic from some external process in the background. We have to boot PHP up in the app while it's being backgrounded in order to do any of the processing of your code, so there's some hurdles to jump there. We're looking forward to getting to that in the next few months probably, but like you said, we have Bifrost, we have to go back and revisit that and bring in some of the tooling we want to add there and balance all that stuff out. So, yeah, yeah, so it's quite a lot that's coming soon, which is the fact that it's moving forward, and…

Mike Page: I know that we hear that a lot with different people if it's coming soon, but the the thing is everything that you've said is coming soon I've seen movement on, and yes, okay, I do have the slight advantage of being in one of the early contributors groups on Discord, so I see it's slightly before Mike does, but I mean there as well.

Shane Rosenthal: How are you? Okay, yeah, he's not that special.

Mike Page: Fight that happens after the show, and that's on OnlyFans. Yeah. The the thing that I really like is that you are constantly talking to the people using this, and yes, okay, it is a business, and the main aim of this is so that you can actually have some income and, you know, eat, but the fact that you are treating this also like an open source project is you're interested in what the users are interested in.

Shane Rosenthal: For sure. Yeah, that's I… the way I… my mantra for this day in and day out is I want to compete directly against React Native and Flutter with this. There's nothing… there's no limitations, technical limitations, keeping us from that, from that point. The cool thing is, especially with something like Bifrost, there's also no reason we can't do React Native or Flutter builds with Bifrost, and they can't do Native PHP. So like, I'm looking at this as like, I look at like, I got the McDonald's app the other day, and I'm looking at like all the different animations and all the different stuff, and I'm like, “How would I do this with PHP? How would I do this with with Native?” And like, to get to these goals where I like, this opens the door for anybody could make literally any bespoke, custom, you know, app that they can dream of. Like they're get handed a Figma design from somebody, and they just go to town because they know how to do it. That's where I want to get to. And so the the the people that are using our app, they're they're giving us direct feedback. A lot of them have businesses, they have paying customers themselves that are, you know, asking for additional things to to go in, and we absolutely care about that specifically. We don't want anyone to fall to the wayside or lose clients or money of their on their own because we we're not doing something on our side. So if we can prioritize and get something in for for somebody else, absolutely. That's that's the whole name of the game, I think. Yeah, and…

Mike Page: And I've seen you answer back to people and say like, “That's on the roadmap here,” so you're you're already saying, “We've actually thought about what you're wanting anyway,” and even that's huge, that you're you're ahead of the curve on what people are going to ask you for.

Shane Rosenthal: I I will just leave with this: I'll have a video out tomorrow and the next day and the next day and the next day. I think every day this week, I've got I've got a video coming out. So there's more, there's more to come. There's more to come. So it's a it's a it's like the drop week, I guess.

Chris Page: So, so we have three more questions, two of them on there and one of them from me. Firstly, we have Arthur who says, “Greetings from Brazil.” That one's actually a question, I misread. And secondly, Olle wants to know why we go live when he's having dinner and doing the dishes.

Shane Rosenthal: We plan that. That yeah. And it's specifically for you, Shane. Yeah, we specifically plan that around you. Oh, yeah, exactly. Definitely.

Mike Page: And the question for me is, “When are you giving me access to the video camera?”

Shane Rosenthal: You have to stay tuned. It's on the roadmap. It is on the roadmap, I will say that. Is it on the roadmap for V2? Is it on… let me let me let me just check the roadmap real quick. Hang on a second. I have an app for the roadmap, of course. You mean this camera that… that's the one?

Mike Page: That's the one. If you if I could get access to that, I have an app I want to build this week. Perfect.

Shane Rosenthal: So you got the sneak peek. You've seen it here first. Seen it here first. There you go, folks. Yep. Yeah, yeah, that that was that was a pretty highly requested one, the QR codes too. I think I think in-app purchasing, that's going to come a little bit later after the release. It'll still be part of the version 2. We just want to have that in time for the release, but, you know, there's a couple other ones to come into, plus all the native stuff. I mean, I mean, if you if you know anything about anything, the native the real native stuff, that's yeah, that's where it's at. Yeah.

Chris Page: And just remind us when version 2 is due to drop.

Shane Rosenthal: We are doing our best to align it with a Black Friday deal. So we we really are trying to get it done by the in the next couple weeks.

Mike Page: So I've just seen Eric's question. Oh, he like… he likes to… he likes to troll us in the in the comments. And John put us off while we're recording, especially when we're light or when we're like, so, so you're trying to bring out a Black Friday deal and hopefully dropping version 2, that's, that's where we're at. Okay, that's awesome. That that would be awesome, so that'd actually make me forget about my degree and just…

Shane Rosenthal: Apps and that's what you should do. Yeah, forget you find find. You should mention we are native, because the module I'm doing for my degree is React Native, and I'm not… I'm really have to do that. Please don't make me do this. Luckily, it's only for about six weeks. So it's just just to get a taste of doing mobile development.

Mike Page: You know how many apps I can build in six weeks, man? I'm sure you can build a lot, and I tell you what, I'll I'll just get that bit out of the way, and then I'll forget all about React Native because I'll never use it because I'll be I'll be using the PHP to build my apps. So you're doing it for six weeks, right? About six weeks, I think, yeah. Yeah, so seven weeks.

Shane Rosenthal: That's about five weeks, six days, 23 hours too long.

Mike Page: Yes, I know. But but I I I can't turn in a Native PHP project when they're actually to try. But I think I might fail that module if I did that.

Shane Rosenthal: In six weeks, with Claude Code, you could build it with Native PHP and have a transpiler that backs it into a reaction. Yes, it's not only if you've got the got like the Pro subscription on $200. Yeah. However, I'm doing it through the Open University that has a controlled condition place to write your code.

Mike Page: Yeah, so I've seen that what I'm planning, what I'm planning to do is write some prompts for Claude writing to apps. Whilst that's doing that, I'm then going to jump over and do my bit of uni work, and then I'm just going to jump back and forth. See see how many apps I can build whilst doing the one Native React one.

Shane Rosenthal: I think it's just a… it's just a matter of time, and they'll they'll have Native PHP courses and…

Mike Page: No, I'm I'm going to write to them and tell them that that's what they should be teaching, not… yeah, I reckon there's this one guy we should introduce him to that will happily do the lessons, won't you, Shane?

Shane Rosenthal: Yeah, by the way, the best conference in the Chicago area is whatever has pizza from that place, Lou Malnati's. Oh my God, that was so good.

Mike Page: PHP TEK, for sure. And now JS Tech, is that what they're call… is that what it's called? Yeah, JS Tech. It's actually pronounced JSX, I think.

Chris Page: Yes, it's uh, it's something. Yeah, we we announced a couple of weeks ago that yeah, we're going to have another… John announced and Eric found out on the show. No, no, John announced, and the whole team found out when we were watching the show. It's like, “Oh, okay.” So yeah, we we're going to have a whole other conference running alongside. It's in the same hotel, just in just another side room. It's probably the broom cupboard down the down the corridor that will just stick them in there. So Shane, I reckon your first talk that you submit to that should should be how to build a React Native app in with Native PHP because it's clearly better.

Shane Rosenthal: Well, actually, the thing with Native PHP, sorry, I'm getting really technical now. The thing you can do with Native PHP that you can't do with React Native, just use React. And I know it's it's kind of the same, but yeah, you can you can use any like JavaScript framework on top of Native PHP. So I think that's a good shout. You should do that talk at JSTEX. That would be great.

Mike Page: It's Java's JavaScript.

Shane Rosenthal: Yes, I'm sure I've seen some talks: “React Native for a PHP developer.” What you should do is a “Native PHP for a React Native developer,” going going to hijack all their conferences. Yeah, yeah, I'd be lying if I said we haven't thought about this.

Simon Hamp: I I'm sure there's loads and loads of people familiar with PHP who go to those things. They just, yeah, yeah, maybe it's not their primary thing, or maybe they're only at the conference because it's a React Native thing, and whatever, but maybe they're hiding under the tables. They don't say to anybody that they do PHP.

Chris Page: So guilty pleasure. Just imagine them opening a little purple box with PHP inscribed on the top, The Little Elephant that they pet. Yes, well, we are running slightly long, and I did promise Simon, “We'll try and finish off within the hour,” but we failed at that promise. So sorry, Simon. That's probably my bad. The yak a lot. I don't I don't want you to waste away because you haven't had your dinner this evening yet. I want thank you.

Shane Rosenthal: A good one at a conference in Chicago, Shane. Say again. There's this really good pizza at a conference in Chicago. We could go and get. I I plan to go get some. I think I'll be dead by then. That's just going to take too long. I would imagine they deliver door dash or something.

Simon Hamp: I think it would be cold, and I'll be dead.

Shane Rosenthal: I believe so. There's a couple other. I mean, there's some tentative things around that same time that I'm just waiting for, but my plan is to go for sure. I I really had a great time that was my first my first one, and yeah, I don't want that to be my last for sure. And I really want some Lou Malnati's.

Mike Page: I have a feeling that I know one of the things that's around there because I submit to that one too. Ah, Japan. That's the one. Yeah, my son's learning Japanese, so he he's excited about that. But who knows, who knows. And Simon, what's it going to take to get get you to come out and join us?

Simon Hamp: I don't know how how expensive are the flights?

Mike Page: That's a good point. I I don't know. I just keep giving the tickets, and I go over, but… Lucky you. What you need to do is that now submit a JavaScript talk. Yes, and if it gets selected, we'll fly you over.

Simon Hamp: I don't want to talk about JavaScript. No, but you don't have to talk about.

Mike Page: Yeah, I mean, I don't know if I'm brave enough for that yet. Also, I like, I'm I'm curious, is JS Tech is that running concurrently with?

Simon Hamp: Yes.

Mike Page: PHP Tech? Yeah, yeah. So it's kind of another track that's just going to be dedicated to JavaScript, but we just giving it a… well, John's giving it a fancy name. I don't know how it all works ticket-wise. I can't really say because I don't know if John and Eric have worked with everything out yet, but yeah, from what I understand, it's going to be another sort of a side track. With with the three tracks it will have for Tech, is it going to be like a musical standoff between between the two groups of people? The West Side Story going on now, exactly the model. Yeah, so we'll see, we'll see. I I don't know all the details, and guessing John's not watching now, so he jumped in the chat and giving us a few more details, and let's see. He doesn't know the details yet. But so what we'll do is we'll let you know when we know. So what you said, we'll just keep watching. Just need to go to Chicago, yes, sometime in May, around the 9th. Just like experience it as it happens in real time. Yeah, and then I'll know for sure. That's that is the best way. Just just turn that. I went to Chicago and I got to have, you know, sushi with Shane. There was also some good stuff. I love it's so difficult to say sushi with Shane. Oh, Shane as I like to call him, or what you can do, or you can do what I did and fly all the way over there to to meet someone that you're now kind of talked to almost every single day, and they're only a mile drive, not an hour drive away from you. Wow, that's that's how Merry Christmas. We live that close to each other, but we met at Tech, flew all the way out there just to meet. So we're being asked for a link to the conference. You mean like that one, or maybe that one? I can click it though. Yeah, but the video link then it's not very good with technology. It's a bit of a technophobe. Not a prerequisite.

Shane Rosenthal: Be smart to do the stuff we do. You want your… we're going to, game night, one of the game nights, we're going to get we're going to have to get show up on stage dancing now.

Mike Page: Yes, try to try to stop me. I'll do it. I'll do it while Eric's talking. Oh God, I can just imagine you just walk behind him, start moonwalking behind him. You know, I have to learn how to moonwalk now. Oh, I'm I'm so looking forward to to Tech next year now. Yes, just on that. Bring it. Cool. Okay, we should start to to wind up now because I'm I'm I'm getting hungry as well. So I'm sure Simon is, so we need to go and eat. So thank you very much for both of you for joining us today. It's been a long time in the making trying to get opinions, guys, down to do this. So it's great that we've managed to do it, and I'm sure if we do something in the New Year, you'll have a hundred other things to talk about because it seems to be so much coming out. It's so exciting, and I've said a few times on the show that this is probably the one thing that really excites me about PHP at the moment, to be able to write on for almost any platform you can think of. Is it is so cool, we do say that PHP keeps moving forward, but this this is one of the big jumps. There's a lot of cool things coming out all at all the time, but yeah, for me personally, this is one of the big jumps that's really exciting. I mean, I I keep telling people about it, so it's it's hyping up PHP. So thank you very much for first of all, thinking of the idea, and then running with it, and working so hard on doing what you're doing. So yeah, it's it's been it's been great. So yeah, thank you very much. If you are not in our Discord Channel, please come and join us. It's not just for during the live shows, you can hang out in the week, and you can ask questions, talk, chat, post photos of your cat, whatever you want to do. But there's loads of people there. Shane, you're in our Discord as well. Simon, you in there? Yep. After you. Don't you don't not their sort of in the… I don't say she's only there during the live stream. Yeah, we've got PHP core contributors in there. We've got people that make packages. I like these two, and so there's lots of brilliant guys and ladies and all sorts. Everyone's in there. So great conversations throughout the week. Head over to our YouTube Channel. Please like and subscribe. That helps us out a lot, so please do that. Don't forget our magazine discount: ALIVE3. I was waiting for it to come up on the screen to make sure I was saying it right. ALIVE3 gives you the first three months of an annual digital subscription. Tickets for PHP TEK 26 are now on sale. Be great to see as many people over there as possible. Call for papers for JS for JS Tech is open, so please pop over there and submit your talks. We're looking forward to seeing what what people come up with, and don't forget to head over to our store and check out the T-shirts and things over there. I did see something about Eric saying that he might try and make some polo tops available, which we don't have at the moment, so yeah, there you go. So you might be able to get a polo top that's lovely modeled by Chris there. Yeah, so again, thank you very much everyone for watching, listening, however, and thank you very much, Simon, Shane, for giving us your your time today. And no, thanks for having us. Yeah, it's been no, it's our pleasure. It's been great chatting to you and and delving into all this native stuff you're you're working on. So yeah, we I'm waiting for those videos. Every day I'm going to check, see what the videos you got coming out. I'm excited. So yeah. Yeah, now what I haven't done is queue the final outro. So hang on, hang on. I'll just dance. Yeah. Need to… I we're now just need to to have some West Side Story music playing while they dance. Show a video, Simon dancing. Actually, actually, please, please don't. He said, “Okay, well, thank you very much to you both, and hopefully we'll catch up soon. And thank you for everyone watching and listening, and so we'll uh don't forget we've got we've got the Thursday night with Eric and John, and you'll hear all about the the pains that we've gone through to try and select talks for Tech out of 545 options.”

Chris Page: Chris has decided to drink just some masking request. Who we got on Friday? We have Dan, it's Dan News. Is is going to be on the show on Friday. So yeah, look forward to that. Well, thank you very much, and we'll see you soon. Bye.

Air date: November 11, 2025 Hosted by: Mike Page, Chris Page Guest(s): Simon Hamp, Shane Rosenthal

November 2025 Magazine Issue: Buy Issue - $6 Subscribe - from $4.99

Our Partners Collaborating with industry leaders to bring you the best PHP resources and expertise

Displace

Infrastructure Management, Simplified https://displace.tech/

PHPScore

Put Your Technical Debt on Autopay https://phpscore.com/

About Us

Policies & Legal

Online Store

Special Sections

Follow us on:

Copyright © 2002-2025 PHP Architect, LLC. — All amounts in USD